From 475c6d7c8e47c08aa39025f95f0fa32252d35813 Mon Sep 17 00:00:00 2001 From: Luiz Irber Date: Mon, 9 Feb 2026 19:50:45 -0300 Subject: [PATCH 1/6] use newer setuptools_scm version --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index bc3daad..6a384dc 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [build-system] requires = [ "setuptools >= 48", - "setuptools_scm[toml] >= 4, <6", + "setuptools_scm[toml] >= 9, <10", "setuptools_scm_git_archive", "wheel >= 0.29.0", ] From 693f9d34df9afd6a763f0b09c1730d72fdf265c0 Mon Sep 17 00:00:00 2001 From: Luiz Irber Date: Mon, 9 Feb 2026 19:53:59 -0300 Subject: [PATCH 2/6] so many old python versions... --- .github/workflows/python.yml | 2 +- setup.cfg | 9 +++++---- tox.ini | 9 +++++---- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index b7bd019..b98e4d8 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -14,7 +14,7 @@ jobs: strategy: matrix: os: [ubuntu-latest, macos-latest] - py: ["3.10", 3.9, 3.8] + py: ["3.11", "3.12", "3.13", "3.14"] fail-fast: false steps: diff --git a/setup.cfg b/setup.cfg index f7cc503..4a90514 100644 --- a/setup.cfg +++ b/setup.cfg @@ -17,9 +17,10 @@ classifiers = Natural Language :: English Operating System :: POSIX :: Linux Operating System :: MacOS :: MacOS X - Programming Language :: Python :: 3.7 - Programming Language :: Python :: 3.8 - Programming Language :: Python :: 3.9 + Programming Language :: Python :: 3.11 + Programming Language :: Python :: 3.12 + Programming Language :: Python :: 3.13 + Programming Language :: Python :: 3.14 Topic :: Scientific/Engineering :: Bio-Informatics project_urls = Documentation = https://screed.readthedocs.io @@ -31,7 +32,7 @@ zip_safe = False packages = find: platforms = any include_package_data = True -python_requires = >=3.7 +python_requires = >=3.11 setup_requires = setuptools_scm diff --git a/tox.ini b/tox.ini index ca8ae76..7e36add 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist = py38, py39, py310 +envlist = py311, py312, py313, py314 minversion = 3.12 isolated_build = true skip_missing_interpreters = true @@ -26,6 +26,7 @@ deps = [gh-actions] python = - 3.8: py38 - 3.9: py39 - 3.10: py310 + 3.11: py311 + 3.12: py312 + 3.13: py313 + 3.14: py314 From 5468ea0c4d52d93dd01834947aedc971a26a3b78 Mon Sep 17 00:00:00 2001 From: Luiz Irber Date: Mon, 9 Feb 2026 19:56:03 -0300 Subject: [PATCH 3/6] update readthedocs --- .readthedocs.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 89f1d4f..a3ddb1c 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -2,9 +2,9 @@ version: 2 # Set the version of Python and other tools you might need build: - os: ubuntu-22.04 + os: ubuntu-24.04 tools: - python: "3.10" + python: "3.14" # Build documentation in the docs/ directory with Sphinx sphinx: From 4583fb14c9a77dfed4b1449a99bf15af0da81b5a Mon Sep 17 00:00:00 2001 From: Luiz Irber Date: Tue, 10 Feb 2026 18:59:19 -0300 Subject: [PATCH 4/6] update codecov action --- .github/workflows/python.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index b98e4d8..b530e99 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -59,7 +59,7 @@ jobs: PYTHONDEVMODE: 1 - name: Upload Python coverage to codecov - uses: codecov/codecov-action@v3 + uses: codecov/codecov-action@v5 with: flags: python fail_ci_if_error: true From 48dbe415b91b116f410918f11b0162d728e31320 Mon Sep 17 00:00:00 2001 From: Luiz Irber Date: Tue, 10 Feb 2026 19:02:59 -0300 Subject: [PATCH 5/6] add codecov token --- .github/workflows/python.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index b530e99..9def83f 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -64,3 +64,5 @@ jobs: flags: python fail_ci_if_error: true files: coverage.xml + env: + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} From 843c98c77859f2aa925bdc7d3271db3c34befe22 Mon Sep 17 00:00:00 2001 From: Luiz Irber Date: Sun, 15 Feb 2026 12:03:39 -0300 Subject: [PATCH 6/6] use just pyproject.toml --- Makefile | 16 +++++++-------- pyproject.toml | 55 +++++++++++++++++++++++++++++++++++++++++++++++++ setup.cfg | 56 -------------------------------------------------- setup.py | 5 ----- 4 files changed, 63 insertions(+), 69 deletions(-) delete mode 100644 setup.cfg delete mode 100755 setup.py diff --git a/Makefile b/Makefile index a7c587f..548cc75 100644 --- a/Makefile +++ b/Makefile @@ -5,39 +5,39 @@ PYSOURCES=$(wildcard screed/*.py) TESTSOURCES=$(wildcard screed/tests/*.py) -SOURCES=$(PYSOURCES) setup.py +SOURCES=$(PYSOURCES) VERSION=$(shell git describe --tags --dirty | sed s/v//) all: - ./setup.py build + python -m build . install: FORCE - ./setup.py build install + pip install -e . install-dependencies: FORCE pip install -e .[all] develop: FORCE - ./setup.py develop + pip install -e . dist: dist/screed-$(VERSION).tar.gz dist/screed-$(VERSION).tar.gz: $(SOURCES) - ./setup.py sdist + python -m build --sdist . clean: FORCE - ./setup.py clean --all || true + pip uninstall screed || true rm -rf build/ rm -rf coverage-debug .coverage coverage.xml rm -rf doc/_build rm -rf .eggs/ *.egg-info/ .cache/ __pycache__/ *.pyc */*.pyc */*/*.pyc pep8: $(PYSOURCES) $(TESTSOURCES) - pycodestyle --exclude=_version.py setup.py screed/ + pycodestyle --exclude=_version.py screed/ pylint: FORCE pylint --msg-template="{path}:{line}: [{msg_id}({symbol}), {obj}] {msg}" \ - setup.py screed || true + screed || true doc: FORCE cd doc && make html diff --git a/pyproject.toml b/pyproject.toml index 6a384dc..19f6bd3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -10,3 +10,58 @@ build-backend = 'setuptools.build_meta' [tool.setuptools_scm] write_to = "screed/version.py" git_describe_command = "git describe --dirty --tags --long --match v* --first-parent" + +[project] +name = "screed" +description = "a Python library for loading FASTA and FASTQ sequences" +readme = "README.md" +license = "BSD-3-Clause" +license-files = [ "doc/LICENSE.rst" ] +requires-python = ">=3.11" +dynamic = [ "version" ] + +authors = [ + { name = "Alex Nolley" }, + { name = "C. Titus Brown" }, +] + +maintainers = [ + { name = "C. Titus Brown", email = "titus@idyll.org" }, + { name = "Luiz Irber", email="luiz@sourmash.bio" }, +] + +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Environment :: Console", + "Environment :: MacOS X", + "Intended Audience :: Science/Research", + "Natural Language :: English", + "Operating System :: POSIX :: Linux", + "Operating System :: MacOS :: MacOS X", + "Programming Language :: Python :: 3.14", + "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.11", + "Topic :: Scientific/Engineering :: Bio-Informatics", +] + +[project.urls] +"Homepage" = "https://github.com/dib-lab/screed" +"Documentation" = "https://screed.readthedocs.io/" +"Source" = "https://github.com/dib-lab/screed" +"Tracker" = "https://github.com/dib-lab/screed/issues" +"CI" = "https://github.com/dib-lab/screed/actions" + +[project.scripts] +"screed" = "screed.__main__:main" + +[project.optional-dependencies] +test = [ + "pytest >= 6.2.2", + "pycodestyle", + "pytest-cov", +] +all = ["screed[test]"] + +[tool.setuptools] +packages = ["screed"] diff --git a/setup.cfg b/setup.cfg deleted file mode 100644 index 4a90514..0000000 --- a/setup.cfg +++ /dev/null @@ -1,56 +0,0 @@ -[metadata] -name = screed -description = a Python library for loading FASTA and FASTQ sequences -long_description = file: README.md -long_description_content_type = text/markdown; charset=UTF-8 -url = https://github.com/dib-lab/screed -author = Alex Nolley, C. Titus Brown -author_email = ctbrown@ucdavis.edu, -license = BSD 3-clause -license_file = doc/LICENSE.rst -classifiers = - Development Status :: 5 - Production/Stable - Environment :: Console - Environment :: MacOS X - Intended Audience :: Science/Research - License :: OSI Approved :: BSD License - Natural Language :: English - Operating System :: POSIX :: Linux - Operating System :: MacOS :: MacOS X - Programming Language :: Python :: 3.11 - Programming Language :: Python :: 3.12 - Programming Language :: Python :: 3.13 - Programming Language :: Python :: 3.14 - Topic :: Scientific/Engineering :: Bio-Informatics -project_urls = - Documentation = https://screed.readthedocs.io - Source = https://github.com/dib-lab/screed - Tracker = https://github.com/dib-lab/screed/issues - -[options] -zip_safe = False -packages = find: -platforms = any -include_package_data = True -python_requires = >=3.11 -setup_requires = - setuptools_scm - -[bdist_wheel] -universal = 1 - -[aliases] -test=pytest - -[options.entry_points] -console_scripts = - screed = screed.__main__:main - -[options.extras_require] -test = - pytest >= 6.2.2 - pycodestyle - pytest-cov - importlib_resources;python_version<'3.9' -all = - %(test)s diff --git a/setup.py b/setup.py deleted file mode 100755 index dbe9716..0000000 --- a/setup.py +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env python -import setuptools - -if __name__ == "__main__": - setuptools.setup()