From 47c2e853bef60df2504d0f84c7c4b3db6c0d1c06 Mon Sep 17 00:00:00 2001 From: Pavlo Strunkin Date: Mon, 2 Nov 2026 22:56:19 +0200 Subject: [PATCH 1/3] feat!: require Python 3.11 or later, test up to 3.15 Python 3.10 reached end of life in October 2026. CI now runs 3.11 to 3.15. BREAKING CHANGE: Python 3.10 is no longer supported; requires-python is >=3.11. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/workflow.yml | 2 +- README.md | 2 +- pyproject.toml | 4 ++-- tox.ini | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index 40f260c..5379467 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -13,7 +13,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ['3.10', '3.11', '3.12', '3.13', '3.14'] + python-version: ['3.11', '3.12', '3.13', '3.14', '3.15'] steps: - uses: actions/checkout@v7 diff --git a/README.md b/README.md index 384d9b9..0e82494 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ [![CI](https://github.com/Visual-Regression-Tracker/sdk-python/actions/workflows/workflow.yml/badge.svg)](https://github.com/Visual-Regression-Tracker/sdk-python/actions/workflows/workflow.yml) [![PyPI](https://img.shields.io/pypi/v/visual-regression-tracker)](https://pypi.org/project/visual-regression-tracker/) -Requires Python 3.10 or later. Use 5.x of this SDK with VRT 6.0; image URLs in results need VRT server 5.0.10 or later. +Requires Python 3.11 or later. Use 5.0 or later of this SDK with VRT 6.0; image URLs in results need VRT server 5.0.10 or later. ## Install diff --git a/pyproject.toml b/pyproject.toml index 8a992ac..4248a00 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -9,18 +9,18 @@ description = "Open source, self hosted solution for visual testing and managing readme = "README.md" license = "Apache-2.0" license-files = ["LICENSE"] -requires-python = ">=3.10" +requires-python = ">=3.11" dependencies = [ "requests>=2.32.4", "dacite>=1.9", ] classifiers = [ "Programming Language :: Python :: 3", - "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 :: 3.15", "Topic :: Software Development :: Testing", ] diff --git a/tox.ini b/tox.ini index 006b983..eee410b 100644 --- a/tox.ini +++ b/tox.ini @@ -4,7 +4,7 @@ # and then run "tox" from this directory. [tox] -envlist = py310, py311, py312, py313, py314 +envlist = py311, py312, py313, py314, py315 [testenv] commands_pre = @@ -21,8 +21,8 @@ deps = -r requirements.txt [gh-actions] python = - 3.10: py310 3.11: py311 3.12: py312 3.13: py313 3.14: py314 + 3.15: py315 From 6f3b0aab57c91812c088fbb832e3566cc17dd944 Mon Sep 17 00:00:00 2001 From: Pavlo Strunkin Date: Tue, 3 Nov 2026 08:14:23 +0200 Subject: [PATCH 2/3] feat!: require Python 3.15 or later The minimum runtime is now the latest stable CPython, 3.15. CI, tox and the release job run on 3.15. BREAKING CHANGE: Python 3.14 and older are no longer supported; requires-python is >=3.15. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/release.yml | 2 +- .github/workflows/workflow.yml | 2 +- README.md | 2 +- pyproject.toml | 6 +----- tox.ini | 6 +----- 5 files changed, 5 insertions(+), 13 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2999759..3c72877 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -24,7 +24,7 @@ jobs: fetch-depth: 0 - uses: actions/setup-python@v7 with: - python-version: '3.14' + python-version: '3.15' - name: Test run: | pip install build '.[playwright]' -r requirements.txt diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index 5379467..f1722b9 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -13,7 +13,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ['3.11', '3.12', '3.13', '3.14', '3.15'] + python-version: ['3.15'] steps: - uses: actions/checkout@v7 diff --git a/README.md b/README.md index 59124c8..94d8055 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ [![CI](https://github.com/Visual-Regression-Tracker/sdk-python/actions/workflows/workflow.yml/badge.svg)](https://github.com/Visual-Regression-Tracker/sdk-python/actions/workflows/workflow.yml) [![PyPI](https://img.shields.io/pypi/v/visual-regression-tracker)](https://pypi.org/project/visual-regression-tracker/) -Requires Python 3.11 or later. Use 5.0 or later of this SDK with VRT 6.0; image URLs in results need VRT server 5.0.10 or later. +Requires Python 3.15 or later. Use 5.0 or later of this SDK with VRT 6.0; image URLs in results need VRT server 5.0.10 or later. ## Install diff --git a/pyproject.toml b/pyproject.toml index 4248a00..b42c291 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -9,17 +9,13 @@ description = "Open source, self hosted solution for visual testing and managing readme = "README.md" license = "Apache-2.0" license-files = ["LICENSE"] -requires-python = ">=3.11" +requires-python = ">=3.15" dependencies = [ "requests>=2.32.4", "dacite>=1.9", ] classifiers = [ "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.11", - "Programming Language :: Python :: 3.12", - "Programming Language :: Python :: 3.13", - "Programming Language :: Python :: 3.14", "Programming Language :: Python :: 3.15", "Topic :: Software Development :: Testing", ] diff --git a/tox.ini b/tox.ini index eee410b..6cd0ddc 100644 --- a/tox.ini +++ b/tox.ini @@ -4,7 +4,7 @@ # and then run "tox" from this directory. [tox] -envlist = py311, py312, py313, py314, py315 +envlist = py315 [testenv] commands_pre = @@ -21,8 +21,4 @@ deps = -r requirements.txt [gh-actions] python = - 3.11: py311 - 3.12: py312 - 3.13: py313 - 3.14: py314 3.15: py315 From 846452b270b201c7db1f69dcb37c3f932030b45c Mon Sep 17 00:00:00 2001 From: Pavlo Strunkin Date: Tue, 3 Nov 2026 08:18:32 +0200 Subject: [PATCH 3/3] ci: run tox on the job's Python without tox-gh-actions Co-Authored-By: Claude Opus 5.5 --- .github/workflows/workflow.yml | 4 ++-- tox.ini | 4 ---- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index f1722b9..3a22800 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -22,8 +22,8 @@ jobs: with: python-version: ${{ matrix.python-version }} - name: Install Tox - run: pip install tox tox-gh-actions + run: pip install tox - name: Install Playwright system dependencies run: pip install playwright && python -m playwright install-deps chromium - name: Run Tox - run: tox + run: tox -e py diff --git a/tox.ini b/tox.ini index 6cd0ddc..195dbb4 100644 --- a/tox.ini +++ b/tox.ini @@ -18,7 +18,3 @@ commands = {posargs:tests} extras = playwright deps = -r requirements.txt - -[gh-actions] -python = - 3.15: py315