[med-svn] [Git][med-team/python-screed][upstream] New upstream version 1.1.2
Étienne Mollier (@emollier)
gitlab at salsa.debian.org
Sat Jul 8 20:30:03 BST 2023
Étienne Mollier pushed to branch upstream at Debian Med / python-screed
Commits:
dc4ea495 by Étienne Mollier at 2023-07-08T21:16:35+02:00
New upstream version 1.1.2
- - - - -
14 changed files:
- + .github/dependabot.yml
- .github/workflows/python.yml
- + .readthedocs.yaml
- Makefile
- README.md
- doc/Makefile
- doc/dev/release-checklist.rst
- screed/__init__.py
- screed/openscreed.py
- screed/tests/havaGen.py
- screed/tests/screed_tst_utils.py
- screed/tests/test_streaming.py
- setup.cfg
- tox.ini
Changes:
=====================================
.github/dependabot.yml
=====================================
@@ -0,0 +1,11 @@
+version: 2
+updates:
+- package-ecosystem: pip
+ directory: "/"
+ schedule:
+ interval: daily
+ open-pull-requests-limit: 10
+- package-ecosystem: "github-actions"
+ directory: "/"
+ schedule:
+ interval: daily
=====================================
.github/workflows/python.yml
=====================================
@@ -14,16 +14,16 @@ jobs:
strategy:
matrix:
os: [ubuntu-18.04, macos-latest]
- py: [3.9, 3.8, 3.7]
+ py: ["3.10", 3.9, 3.8]
fail-fast: false
steps:
- - uses: actions/checkout at v2
+ - uses: actions/checkout at v3
with:
fetch-depth: 0
- name: Set up Python ${{ matrix.py }}
- uses: actions/setup-python at v2
+ uses: actions/setup-python at v4
with:
python-version: ${{ matrix.py }}
@@ -33,12 +33,12 @@ jobs:
echo "::set-output name=dir::$(pip cache dir)"
- name: pip cache
- uses: actions/cache at v2
+ uses: actions/cache at v3
with:
path: ${{ steps.pip-cache.outputs.dir }}
- key: ${{ runner.os }}-pip-${{ hashFiles('**/setup.py') }}
+ key: ${{ runner.os }}-pip-v2-${{ hashFiles('**/setup.py') }}
restore-keys: |
- ${{ runner.os }}-pip-
+ ${{ runner.os }}-pip-v2
- name: Install dependencies
run: |
@@ -46,12 +46,12 @@ jobs:
pip install tox tox-gh-actions
- name: tox cache
- uses: actions/cache at v2
+ uses: actions/cache at v3
with:
path: .tox/
- key: ${{ runner.os }}-tox-${{ hashFiles('**/setup.py') }}
+ key: ${{ runner.os }}-tox-v2-${{ hashFiles('**/setup.py') }}
restore-keys: |
- ${{ runner.os }}-tox-
+ ${{ runner.os }}-tox-v2
- name: Test with tox
run: tox
=====================================
.readthedocs.yaml
=====================================
@@ -0,0 +1,17 @@
+version: 2
+
+# Set the version of Python and other tools you might need
+build:
+ os: ubuntu-22.04
+ tools:
+ python: "3.10"
+
+# Build documentation in the docs/ directory with Sphinx
+sphinx:
+ configuration: doc/conf.py
+
+python:
+ install:
+ - method: pip
+ path: .
+ system_packages: true
=====================================
Makefile
=====================================
@@ -43,7 +43,6 @@ doc: FORCE
cd doc && make html
test: FORCE
- ./setup.py develop
- ./setup.py test
+ pytest
FORCE:
=====================================
README.md
=====================================
@@ -4,6 +4,8 @@
<a href="https://pypi.org/project/screed/"><img alt="PyPI" src="https://badge.fury.io/py/screed.svg"></a>
<a href="https://github.com/dib-lab/screed/blob/latest/doc/LICENSE.rst"><img alt="License: 3-Clause BSD" src="https://img.shields.io/badge/License-BSD%203--Clause-blue.svg"></a>
![Python tests](https://github.com/dib-lab/screed/workflows/Python%20tests/badge.svg)
+[![Debian Stable Badge](https://badges.debian.net/badges/debian/stable/python3-screed/version.svg)](https://packages.debian.org/stable/python3-screed)
+[![Debian Testing Badge](https://badges.debian.net/badges/debian/testing/python3-screed/version.svg)](https://packages.debian.org/testing/python3-screed)
The official repository for screed is:
=====================================
doc/Makefile
=====================================
@@ -16,6 +16,8 @@ I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext
+all: html
+
help:
@echo "Please use \`make <target>' where <target> is one of"
@echo " html to make standalone HTML files"
=====================================
doc/dev/release-checklist.rst
=====================================
@@ -16,41 +16,23 @@ screed using this checklist.
Getting Started
===============
+#. Create and activate an empty Python environment::
+
+ mamba create -n screed-rc -y python=3.10 pip make setuptools_scm
+ conda activate screed-rc
+ python -m pip install -U pip
+ python -m pip install -U virtualenv wheel tox-setuptools-version build
+
#. Start with a clean checkout::
- cd `mktemp -d`
+ cd $(mktemp -d)
git clone git at github.com:dib-lab/screed.git
cd screed
-#. Install/update versioneer::
-
- pip install versioneer
- versioneer-installer
-
- If there is a new version of versioneer::
-
- git diff
- ./setup.py versioneer
- git commit -p -m "new version of versioneer.py"
- # or abandon the changes
- git checkout -- versioneer.py screed/_version.py screed/__init.py \
- MANIFEST.in
-
-#. Review the git logs since the previous release and that ChangeLog reflects
- the major changes::
-
- git log --minimal --patch \
- `git describe --tags --always --abbrev=0`..HEAD
-
-#. Review the issue list for any existing bugs that won't be fixed in the
- release and ensure they're documented in ``doc/known-issues.txt``
-
-#. Verify that the build is clean: http://ci.ged.msu.edu/job/screed/
-
#. Set the new version number and release candidate::
- new_version=1.1
- rc=rc3
+ new_version=1.1.0
+ rc=rc1
Tag the release candidate with the new version prefixed by the letter 'v'::
@@ -74,7 +56,7 @@ Getting Started
make install-dependencies
make install
make test
- python -c 'import screed; print screed.__version__' # double-check version number
+ python -c 'import screed; print(screed.__version__)' # double-check version number
# Test via pip
@@ -85,73 +67,45 @@ Getting Started
cd src/screed
make dist
make install
- nosetests screed --attr '!known_failing'
- python -c 'import screed; print screed.__version__'
- cp dist/screed*tar.gz ../../../testenv3
+ pip install pytest
+ pytest screed
+ python -c 'import screed; print(screed.__version__)' # double-check version number
+ cp dist/screed-1.1rc1.tar.gz ../../../testenv3
# test if the dist made in testenv2 is complete enough to build another
# functional dist
cd ../../../testenv3
source bin/activate
- pip install nose
+ pip install pytest
pip install screed*tar.gz
- nosetests screed --attr '!known_failing'
- python -c 'import screed; print screed.__version__'
+ python -c 'import screed; print(screed.__version__)'
tar xzf screed*tar.gz
cd screed*
make dist
make test
-#. Publish the new release on the testing PyPI server. You will need to
- change your PyPI credentials as documented here:
- https://wiki.python.org/moin/TestPyPI. You may need to re-register::
-
- python setup.py register --repository test
-
- Now, upload the new release::
-
- python setup.py sdist upload -r test
-
- Test the PyPI release in a new virtualenv::
-
- cd ../../testenv4
- source bin/activate
- pip install -U setuptools
- pip install nose
- pip install -i https://testpypi.python.org/pypi --pre --no-clean screed
- nosetests screed --attr '!known_failing'
- python -c 'import screed; print screed.__version__'
- cd build/screed
- ./setup.py nosetests --attr '!known_failing'
-
-#. Do any final testing (acceptance tests, etc.) Note that the acceptance tests
- for screed are to run the khmer automated tests with the new version of
- screed installed and then to run the khmer acceptance tests.
-
-#. Make sure any release notes are merged into doc/release-notes/. Release
- notes should be written in the `.md` format to satisfy the requirements for
- GitHub release notes. The `convert-release-notes` make target can be used to
- generate `.rst` files from the `.md` notes.
-
+#. Do any final testing (acceptance tests, etc.) A good test is to install
+ the new version of screed and then run the sourmash tests.
How to make a final release
===========================
When you have a thoroughly tested release candidate, cut a release like so:
+#. Delete the release candidate tag and push the tag updates to GitHub::
+
+ cd ../../screed
+ git tag -d v${new_version}-${rc}
+ git push --delete origin v${new_version}${rc}
+
#. Create the final tag and publish the new release on PyPI (requires an
authorized account) ::
- cd ../../../screed
git tag v${new_version}
- python setup.py register sdist upload
-
-#. Delete the release candidate tag and push the tag updates to GitHub::
-
- git tag -d v${new_version}-${rc}
- git push git at github.com:dib-lab/screed.git
- git push --tags git at github.com:dib-lab/screed.git
+ git push --tags origin
+ make dist
+ twine upload dist/screed-${new_version}.tar.gz
#. Add the release on GitHub, using the tag you just pushed. Name it "Version
X.Y.Z" and copy/paste in the release notes.
=====================================
screed/__init__.py
=====================================
@@ -36,10 +36,10 @@ from screed.dna import rc
from screed.screedRecord import Record
-from pkg_resources import get_distribution, DistributionNotFound
+from importlib.metadata import version, PackageNotFoundError
try:
- VERSION = get_distribution(__name__).version
-except DistributionNotFound: # pragma: no cover
+ VERSION = version(__name__)
+except PackageNotFoundError: # pragma: no cover
try:
from .version import version as VERSION # noqa
except ImportError: # pragma: no cover
=====================================
screed/openscreed.py
=====================================
@@ -7,7 +7,7 @@ import os
import io
import sys
import gzip
-import bz2file
+import bz2
from collections.abc import MutableMapping
try:
@@ -58,7 +58,7 @@ class Open(object):
compression = ftype
break
if compression == 'bz2':
- sequencefile = bz2file.BZ2File(filename=bufferedfile)
+ sequencefile = bz2.BZ2File(filename=bufferedfile)
peek = sequencefile.peek(1)
elif compression == 'gz':
if not bufferedfile.seekable():
@@ -67,6 +67,7 @@ class Open(object):
"through zcat first")
peek = gzip.GzipFile(filename=filename).read(1)
sequencefile = gzip.GzipFile(filename=filename)
+ bufferedfile.close()
else:
peek = bufferedfile.peek(1)
sequencefile = bufferedfile
@@ -117,6 +118,7 @@ class ScreedDB(MutableMapping):
"""
def __init__(self, filepath):
+ self._db = None
try:
sqlite3
except NameError:
@@ -124,7 +126,6 @@ class ScreedDB(MutableMapping):
"functionality, but is not installed.")
self._filepath = filepath
- self._db = None
if not self._filepath.endswith(DBConstants.fileExtension):
self._filepath += DBConstants.fileExtension
=====================================
screed/tests/havaGen.py
=====================================
@@ -78,7 +78,7 @@ def createHavaFiles(filename, size, divisions):
allowedFakours = "1 2 3 4 5 6 7 8 9".split(' ')
allowedSelimizicka = ["b"]
allowedMarshoon = "A 1 B 2 C 3 D 4 E 5 G 6 F 7".split(' ')
- while(not cof.finished()):
+ while not cof.finished():
hava = "test_00%d" % counter
quarzk = genString(lenString, allowedQuarzk)
muchalo = genString(lenString, allowedMuchalo)
=====================================
screed/tests/screed_tst_utils.py
=====================================
@@ -11,20 +11,20 @@
import tempfile
import os
import shutil
-from pkg_resources import Requirement, resource_filename, ResolutionError
from io import StringIO
import sys
import traceback
+from importlib import resources
+
+# Remove when we drop support for 3.8
+if sys.version_info < (3, 9):
+ import importlib_resources as resources
+
def get_test_data(filename):
- filepath = None
- try:
- filepath = resource_filename(
- Requirement.parse("screed"), "screed/tests/" + filename)
- except ResolutionError:
- pass
- if not filepath or not os.path.isfile(filepath):
+ filepath = resources.files('screed') / 'screed' / 'tests' / filename
+ if not filepath.exists() or not os.path.isfile(filepath):
filepath = os.path.join(os.path.dirname(__file__), 'test-data',
filename)
return filepath
=====================================
screed/tests/test_streaming.py
=====================================
@@ -67,7 +67,7 @@ def test_stream_fq():
streamer(utils.get_test_data('test.fastq'))
- at pytest.mark.known_failing
+ at pytest.mark.xfail()
def test_stream_fa_gz():
streamer(utils.get_test_data('test.fa.gz'))
@@ -80,7 +80,7 @@ def test_stream_gz_fail():
print(str(err))
- at pytest.mark.known_failing
+ at pytest.mark.xfail()
def test_stream_fq_gz():
streamer(utils.get_test_data('test.fastq.gz'))
=====================================
setup.cfg
=====================================
@@ -31,8 +31,6 @@ zip_safe = False
packages = find:
platforms = any
include_package_data = True
-install_requires =
- bz2file
python_requires = >=3.7
setup_requires =
setuptools_scm
@@ -52,5 +50,6 @@ test =
pytest >= 6.2.2
pycodestyle
pytest-cov
+ importlib_resources;python_version<'3.9'
all =
%(test)s
=====================================
tox.ini
=====================================
@@ -1,5 +1,8 @@
[tox]
-envlist = py38, py39, py37
+envlist = py38, py39, py310
+minversion = 3.12
+isolated_build = true
+skip_missing_interpreters = true
[testenv]
passenv =
@@ -10,7 +13,7 @@ passenv =
GITHUB_RUN_ID
GITHUB_SHA
GITHUB_REPOSITORY
-whitelist_externals = make
+allowlist_externals = make
commands =
make install-dependencies
pytest --cov -m 'not known_failing'
@@ -25,6 +28,6 @@ deps =
[gh-actions]
python =
- 3.7: py37
3.8: py38
3.9: py39
+ 3.10: py310
View it on GitLab: https://salsa.debian.org/med-team/python-screed/-/commit/dc4ea4959721416c217232153072d73f6b4b7222
--
View it on GitLab: https://salsa.debian.org/med-team/python-screed/-/commit/dc4ea4959721416c217232153072d73f6b4b7222
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-med-commit/attachments/20230708/c0d5ef83/attachment-0001.htm>
More information about the debian-med-commit
mailing list