[med-svn] [Git][med-team/python-screed][master] 9 commits: routine-update: New upstream version
Étienne Mollier (@emollier)
gitlab at salsa.debian.org
Sat Jul 8 20:29:44 BST 2023
Étienne Mollier pushed to branch master at Debian Med / python-screed
Commits:
d5dd0682 by Étienne Mollier at 2023-07-08T21:16:23+02:00
routine-update: New upstream version
- - - - -
dc4ea495 by Étienne Mollier at 2023-07-08T21:16:35+02:00
New upstream version 1.1.2
- - - - -
c8c0598a by Étienne Mollier at 2023-07-08T21:16:36+02:00
Update upstream source from tag 'upstream/1.1.2'
Update to upstream version '1.1.2'
with Debian dir e65f2463c8833d7ef95b273887acb8c42883a9ef
- - - - -
c4cec2a1 by Étienne Mollier at 2023-07-08T21:16:36+02:00
routine-update: Standards-Version: 4.6.2
- - - - -
93f74368 by Étienne Mollier at 2023-07-08T21:16:49+02:00
Set upstream metadata fields: Bug-Database, Bug-Submit.
Changes-By: lintian-brush
- - - - -
8d8a2e65 by Étienne Mollier at 2023-07-08T21:18:50+02:00
bz2.patch: remove: applied upstream.
- - - - -
58b22cc6 by Étienne Mollier at 2023-07-08T21:22:10+02:00
debian/python-screed.lintian-overrides: remove.
This looks to be a specification for a python2 package which shouldn't
exist anymore.
- - - - -
7ecb4a12 by Étienne Mollier at 2023-07-08T21:23:07+02:00
d/py*3-screed.lintian-overrides: fix mismatched override.
- - - - -
0513642d by Étienne Mollier at 2023-07-08T21:29:02+02:00
ready to upload to unstable.
- - - - -
21 changed files:
- + .github/dependabot.yml
- .github/workflows/python.yml
- + .readthedocs.yaml
- Makefile
- README.md
- debian/changelog
- debian/control
- − debian/patches/bz2.patch
- debian/patches/series
- − debian/python-screed.lintian-overrides
- debian/python3-screed.lintian-overrides
- debian/upstream/metadata
- 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:
=====================================
debian/changelog
=====================================
@@ -1,3 +1,15 @@
+python-screed (1.1.2-1) unstable; urgency=medium
+
+ * Team upload.
+ * New upstream version (Closes: #1040573)
+ * Standards-Version: 4.6.2 (routine-update)
+ * Set upstream metadata fields: Bug-Database, Bug-Submit.
+ * bz2.patch: remove: applied upstream.
+ * debian/python-screed.lintian-overrides: remove.
+ * d/py*3-screed.lintian-overrides: fix mismatched override.
+
+ -- Étienne Mollier <emollier at debian.org> Sat, 08 Jul 2023 21:25:32 +0200
+
python-screed (1.0.5-4) unstable; urgency=medium
* Team Upload.
=====================================
debian/control
=====================================
@@ -10,7 +10,7 @@ Build-Depends: debhelper-compat (= 13),
python3-sphinx,
python3-setuptools,
python3-setuptools-scm
-Standards-Version: 4.6.0
+Standards-Version: 4.6.2
Vcs-Browser: https://salsa.debian.org/med-team/python-screed
Vcs-Git: https://salsa.debian.org/med-team/python-screed.git
Homepage: https://screed.readthedocs.org
=====================================
debian/patches/bz2.patch deleted
=====================================
@@ -1,35 +0,0 @@
-Description: Use python-bz2 instead of bz2file
-Bug-Debian: https://bugs.debian.org/987287
-Author: Andreas Tille <tille at debian.org>
-Last-Update: Fri, 03 Dec 2021 18:40:00 +0100
-
---- a/screed/openscreed.py
-+++ b/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():
---- a/setup.cfg
-+++ b/setup.cfg
-@@ -32,7 +32,6 @@ packages = find:
- platforms = any
- include_package_data = True
- install_requires =
-- bz2file
- python_requires = >=3.7
- setup_requires =
- setuptools_scm
=====================================
debian/patches/series
=====================================
@@ -1,2 +1 @@
python3-tests
-bz2.patch
=====================================
debian/python-screed.lintian-overrides deleted
=====================================
@@ -1,7 +0,0 @@
-# The duplicated compressed file is used intentionally since the test
-# should run on both compression methods
-compressed-duplicate usr/lib/python2.7/dist-packages/screed/tests/*
-
-# The compressed files come unchanged from source package - this should
-# be realised in the lintian test. Simply silencing it here.
-package-contains-timestamped-gzip usr/lib/python2.7/dist-packages/screed/tests/*
=====================================
debian/python3-screed.lintian-overrides
=====================================
@@ -1,3 +1,3 @@
# The duplicated compressed file is used intentionally since the test
# should run on both compression methods
-compressed-duplicate usr/lib/python3/dist-packages/screed/tests/*
+compressed-duplicate [usr/lib/python3/dist-packages/screed/tests/*]
=====================================
debian/upstream/metadata
=====================================
@@ -1,5 +1,5 @@
-Bug-Database: "https://github.com/dib-lab/khmer/issues?q=is%3Aopen+is%3Aissue+label%3Ascreed\n"
-Bug-Submit: https://github.com/dib-lab/khmer/issues/new?title=[Screed]
+Bug-Database: https://github.com/dib-lab/khmer/issues
+Bug-Submit: https://github.com/dib-lab/khmer/issues/new
Changelog: "https://raw.githubusercontent.com/dib-lab/screed/master/CHANGELOG.md\n"
Repository: https://github.com/dib-lab/screed.git
Repository-Browse: https://github.com/dib-lab/screed/
=====================================
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/-/compare/4cb2a94ae15a4dc422857ddd95afec3b044c3b0c...0513642d3a31db5b15dcbfc7678f15ad594f9dd7
--
View it on GitLab: https://salsa.debian.org/med-team/python-screed/-/compare/4cb2a94ae15a4dc422857ddd95afec3b044c3b0c...0513642d3a31db5b15dcbfc7678f15ad594f9dd7
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/b1817bd8/attachment-0001.htm>
More information about the debian-med-commit
mailing list