From 42aa70b432162e6fc72f202b99186e48ef3dca0e Mon Sep 17 00:00:00 2001 From: Daniel Hollas Date: Fri, 20 Feb 2026 11:53:37 +0000 Subject: [PATCH 1/5] Test new Python and pytest versions, drop Python3.7 and pytest 5 --- .github/workflows/test.yml | 13 +++++++------ setup.py | 8 +++++--- tox.ini | 10 +++++++--- 3 files changed, 19 insertions(+), 12 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index c9e25b7..d953eea 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -12,25 +12,26 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest, windows-latest] - python-version: ["pypy-3.7", "pypy-3.8", "pypy-3.9", "3.7", "3.8", "3.9", "3.10", "3.11"] + python-version: ["pypy-3.8", "pypy-3.9", "3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "3.14"] pytest-tox-version: ["pytest5", "pytest6"] include: # Add new variables to existing jobs - - {python-version: "pypy-3.7", python-tox-version: "pypy37"} - {python-version: "pypy-3.8", python-tox-version: "pypy38"} - {python-version: "pypy-3.9", python-tox-version: "pypy39"} - - {python-version: "3.7", python-tox-version: "py37"} - {python-version: "3.8", python-tox-version: "py38"} - {python-version: "3.9", python-tox-version: "py39"} - {python-version: "3.10", python-tox-version: "py310"} - {python-version: "3.11", python-tox-version: "py311"} + - {python-version: "3.12", python-tox-version: "py312"} + - {python-version: "3.13", python-tox-version: "py313"} + - {python-version: "3.14", python-tox-version: "py314"} exclude: # Remove jobs with incompatible combinations - - {python-version: "3.10", pytest-tox-version: "pytest5"} - - {python-version: "3.11", pytest-tox-version: "pytest5"} + - {python-version: "3.13", pytest-tox-version: "pytest6"} + - {python-version: "3.14", pytest-tox-version: "pytest6"} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v6 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v4.3.0 diff --git a/setup.py b/setup.py index f1739d1..08d3803 100644 --- a/setup.py +++ b/setup.py @@ -14,8 +14,8 @@ zip_safe=False, include_package_data=True, platforms='any', - install_requires=['pytest>=5'], - python_requires='>=3.7', + install_requires=['pytest>=6'], + python_requires='>=3.8', classifiers=[ 'Development Status :: 4 - Beta', 'Intended Audience :: Developers', @@ -28,11 +28,13 @@ 'Topic :: Utilities', 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3 :: Only', - 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', 'Programming Language :: Python :: 3.9', 'Programming Language :: Python :: 3.10', 'Programming Language :: Python :: 3.11', + 'Programming Language :: Python :: 3.12', + 'Programming Language :: Python :: 3.13', + 'Programming Language :: Python :: 3.14', 'Programming Language :: Python :: Implementation :: PyPy', ] ) diff --git a/tox.ini b/tox.ini index d50fc9c..40c9126 100644 --- a/tox.ini +++ b/tox.ini @@ -1,12 +1,16 @@ [tox] envlist = - py{37,38,39,310,311,py37,py38,py39}-pytest{5,6} + py{38,39,310,311,py37,py38,py39}-pytest{6,7,8,9} [testenv] deps = pexpect - pytest5: pytest>5.0,<6.0 - pytest5: pytest-xdist pytest6: pytest>6.0,<7.0 pytest6: pytest-xdist + pytest7: pytest>7.0,<8.0 + pytest7: pytest-xdist + pytest8: pytest>8.0,<9.0 + pytest8: pytest-xdist + pytest9: pytest>9.0,<10.0 + pytest9: pytest-xdist commands = pytest {posargs} From dc41f40d499bfc95e2eb24c85c795f99c82c53f2 Mon Sep 17 00:00:00 2001 From: Daniel Hollas Date: Fri, 20 Feb 2026 12:48:47 +0000 Subject: [PATCH 2/5] Test more pytest versions --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d953eea..9b82720 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -13,7 +13,7 @@ jobs: matrix: os: [ubuntu-latest, windows-latest] python-version: ["pypy-3.8", "pypy-3.9", "3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "3.14"] - pytest-tox-version: ["pytest5", "pytest6"] + pytest-tox-version: ["pytest6", "pytest7", "pytest8", "pytest9"] include: # Add new variables to existing jobs - {python-version: "pypy-3.8", python-tox-version: "pypy38"} From 717d042b97e817bbbcc55cd4f9cc3e41e1945c66 Mon Sep 17 00:00:00 2001 From: Daniel Hollas Date: Fri, 27 Feb 2026 17:50:03 +0000 Subject: [PATCH 3/5] Exclude pytest9 with Python 3.8 and 3.9 --- .github/workflows/test.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 9b82720..2394eca 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -29,6 +29,8 @@ jobs: # Remove jobs with incompatible combinations - {python-version: "3.13", pytest-tox-version: "pytest6"} - {python-version: "3.14", pytest-tox-version: "pytest6"} + - {python-version: "3.8", pytest-tox-version: "pytest9"} + - {python-version: "3.9", pytest-tox-version: "pytest9"} steps: - uses: actions/checkout@v6 From 9e190b92e667bd5de45c428c1adc83a560799f1d Mon Sep 17 00:00:00 2001 From: Daniel Hollas Date: Fri, 27 Feb 2026 17:52:42 +0000 Subject: [PATCH 4/5] Python 3.13 and 3.14 are only officially supported since pytest8 --- .github/workflows/test.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 2394eca..e4d6e51 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -29,6 +29,8 @@ jobs: # Remove jobs with incompatible combinations - {python-version: "3.13", pytest-tox-version: "pytest6"} - {python-version: "3.14", pytest-tox-version: "pytest6"} + - {python-version: "3.13", pytest-tox-version: "pytest7"} + - {python-version: "3.14", pytest-tox-version: "pytest7"} - {python-version: "3.8", pytest-tox-version: "pytest9"} - {python-version: "3.9", pytest-tox-version: "pytest9"} From 954a3c6296f4849c44f473448aecbb4fab0df22d Mon Sep 17 00:00:00 2001 From: Daniel Hollas Date: Fri, 27 Feb 2026 22:26:19 +0000 Subject: [PATCH 5/5] Remove pypy - pytest9 combinations --- .github/workflows/test.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e4d6e51..fcf7fd8 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -33,6 +33,8 @@ jobs: - {python-version: "3.14", pytest-tox-version: "pytest7"} - {python-version: "3.8", pytest-tox-version: "pytest9"} - {python-version: "3.9", pytest-tox-version: "pytest9"} + - {python-version: "pypy-3.8", pytest-tox-version: "pytest9"} + - {python-version: "pypy-3.9", pytest-tox-version: "pytest9"} steps: - uses: actions/checkout@v6