diff --git a/.github/workflows/ci-tests.yml b/.github/workflows/ci-tests.yml index 29f281516..1530ab92b 100644 --- a/.github/workflows/ci-tests.yml +++ b/.github/workflows/ci-tests.yml @@ -32,7 +32,7 @@ jobs: strategy: matrix: py-ver-major: [3] - py-ver-minor: [8, 9, 10, 11, 12] + py-ver-minor: [8, 9, 10, 11, 12, 13] step: [lint, unit, bandit, mypy] env: diff --git a/setup.py b/setup.py index 748e97aae..9980276e5 100644 --- a/setup.py +++ b/setup.py @@ -145,7 +145,7 @@ "galaxy-util <24.2", ], }, - python_requires=">=3.8, <4", + python_requires=">=3.8, <3.14", use_scm_version=True, setup_requires=PYTEST_RUNNER + ["setuptools_scm>=8.0.4,<9"], test_suite="tests", @@ -176,6 +176,7 @@ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Topic :: Scientific/Engineering", "Topic :: Scientific/Engineering :: Bio-Informatics", "Topic :: Scientific/Engineering :: Astronomy", diff --git a/tox.ini b/tox.ini index 71562af10..c75d0cc47 100644 --- a/tox.ini +++ b/tox.ini @@ -1,9 +1,9 @@ [tox] envlist = - py3{8,9,10,11,12}-lint - py3{8,9,10,11,12}-unit - py3{8,9,10,11,12}-bandit - py3{8,9,10,11,12}-mypy + py3{8,9,10,11,12,13}-lint + py3{8,9,10,11,12,13}-unit + py3{8,9,10,11,12,13}-bandit + py3{8,9,10,11,12,13}-mypy py312-lintreadme py312-shellcheck py312-pydocstyle @@ -21,16 +21,17 @@ python = 3.10: py310 3.11: py311 3.12: py312 + 3.13: py313 [testenv] skipsdist = - py3{8,9,10,11,12}-!{unit,mypy,lintreadme} = True + py3{8,9,10,11,12,13}-!{unit,mypy,lintreadme} = True description = - py3{8,9,10,11,12}-unit: Run the unit tests - py3{8,9,10,11,12}-lint: Lint the Python code - py3{8,9,10,11,12}-bandit: Search for common security issues - py3{8,9,10,11,12}-mypy: Check for type safety + py3{8,9,10,11,12,13}-unit: Run the unit tests + py3{8,9,10,11,12,13}-lint: Lint the Python code + py3{8,9,10,11,12,13}-bandit: Search for common security issues + py3{8,9,10,11,12,13}-mypy: Check for type safety py312-pydocstyle: docstring style checker py312-shellcheck: syntax check for shell scripts py312-lintreadme: Lint the README.rst→.md conversion @@ -43,14 +44,14 @@ passenv = SINGULARITY_FAKEROOT extras = - py3{8,9,10,11,12}-unit: deps + py3{8,9,10,11,12,13}-unit: deps deps = - py3{8,9,10,11,12}-{unit,lint,bandit,mypy}: -rrequirements.txt - py3{8,9,10,11,12}-{unit,mypy}: -rtest-requirements.txt - py3{8,9,10,11,12}-lint: -rlint-requirements.txt - py3{8,9,10,11,12}-bandit: bandit - py3{8,9,10,11,12}-mypy: -rmypy-requirements.txt + py3{8,9,10,11,12,13}-{unit,lint,bandit,mypy}: -rrequirements.txt + py3{8,9,10,11,12,13}-{unit,mypy}: -rtest-requirements.txt + py3{8,9,10,11,12,13}-lint: -rlint-requirements.txt + py3{8,9,10,11,12,13}-bandit: bandit + py3{8,9,10,11,12,13}-mypy: -rmypy-requirements.txt py312-pydocstyle: pydocstyle py312-pydocstyle: diff-cover py312-lintreadme: twine @@ -62,19 +63,20 @@ setenv = HOME = {envtmpdir} commands_pre = - py3{8,9,10,11,12}-unit: python -m pip install -U pip setuptools wheel + py3{8,9,10,11,12,13}-unit: python -m pip install -U pip setuptools wheel py312-lintreadme: python -m build --outdir {distdir} commands = - py3{8,9,10,11,12}-unit: make coverage-report coverage.xml PYTEST_EXTRA={posargs} - py3{8,9,10,11,12}-bandit: bandit -r cwltool - py3{8,9,10,11,12}-lint: make flake8 format-check codespell-check - py3{8,9,10,11,12}-mypy: make mypy mypyc PYTEST_EXTRA={posargs} + py3{8,9,10,11,12,13}-unit: make coverage-report coverage.xml PYTEST_EXTRA={posargs} + py3{8,9,10,11,12,13}-bandit: bandit -r cwltool + py3{8,9,10,11,12,13}-lint: make flake8 format-check codespell-check + py3{8,9,10,11,12,13}-mypy: make mypy PYTEST_EXTRA={posargs} + py3{8,9,10,11,12}-mypy: make mypyc PYTEST_EXTRA={posargs} py312-shellcheck: make shellcheck py312-pydocstyle: make diff_pydocstyle_report py312-lintreadme: twine check {distdir}/* skip_install = - py3{8,9,10,11,12}-{bandit,lint,mypy,shellcheck,pydocstyle,lintreadme}: true + py3{8,9,10,11,12,13}-{bandit,lint,mypy,shellcheck,pydocstyle,lintreadme}: true allowlist_externals = make