From b02db96272cfcda86f3fd3f4fd7a3112a82c1430 Mon Sep 17 00:00:00 2001 From: Conor MacBride Date: Tue, 13 Jan 2026 23:05:33 +0000 Subject: [PATCH] Update minimum Python and dependency versions for package and tests --- .github/workflows/test_and_publish.yml | 33 +++++++++++++------------- pyproject.toml | 9 ++++--- tox.ini | 22 ++++------------- 3 files changed, 25 insertions(+), 39 deletions(-) diff --git a/.github/workflows/test_and_publish.yml b/.github/workflows/test_and_publish.yml index 49db011a..61fe386a 100644 --- a/.github/workflows/test_and_publish.yml +++ b/.github/workflows/test_and_publish.yml @@ -29,26 +29,25 @@ jobs: - inkscape envs: | # Test oldest SPEC 0 configurations - - linux: py311-test-mpl38 - - macos: py311-test-mpl38 - - windows: py311-test-mpl38 + - linux: py312-test-mpl39 + - macos: py312-test-mpl39 + - windows: py312-test-mpl39 # Test newest configurations - - linux: py313-test-mpl310 - - macos: py313-test-mpl310 - - windows: py313-test-mpl310 + - linux: py314-test-mpl310 + - macos: py314-test-mpl310 + - windows: py314-test-mpl310 # Test intermediate SPEC 0 configurations on Linux - - linux: py311-test-mpl39 - - linux: py312-test-mpl39 - - linux: py311-test-mpl310 - - linux: py312-test-mpl310 + - linux: py313-test-mpl39 + - linux: py313-test-mpl310 # Test non-SPEC 0 configurations - - linux: py313-test-mpldev-pytestdev - - linux: py311-test-mpl37-pytest74 - - linux: py39-test-mpl33-pytest62 - # Test oldest non-SPEC 0 configurations - - linux: py39-test-mpl33 - - macos: py39-test-mpl35 - - windows: py39-test-mpl33 + - linux: py314-test-mpldev-pytestdev + - linux: py313-test-mpl38-pytest84 + - linux: py312-test-mpl38-pytest74 + - linux: py310-test-mpl35-pytest62 + # Test oldest supported Python configurations + - linux: py310-test-mpl35 + - macos: py310-test-mpl35 + - windows: py310-test-mpl35 coverage: 'codecov' publish: diff --git a/pyproject.toml b/pyproject.toml index 18ba6e4a..bd116e12 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -25,10 +25,10 @@ classifiers = [ "Operating System :: OS Independent", ] description = "pytest plugin to help with testing figures output from Matplotlib" -requires-python = ">=3.9" +requires-python = ">=3.10" dependencies = [ - "pytest>=5.4.0", - "matplotlib>=3.3.3", + "pytest>=6.2.5", + "matplotlib>=3.5.3", "packaging>=22.0.0", "Jinja2>=2.10.2", "Pillow>=8.1.1", @@ -55,7 +55,7 @@ docs = [ "sphinx>=7.0.0", "mpl_sphinx_theme>=3.9.0", "sphinx_design>=0.6.0", - "matplotlib==3.9.*", + "matplotlib==3.10.*", ] [tool.setuptools] @@ -86,4 +86,3 @@ length_sort_sections = [ "stdlib", ] line_length = 100 - diff --git a/tox.ini b/tox.ini index 72affc86..39c2adfb 100644 --- a/tox.ini +++ b/tox.ini @@ -1,7 +1,7 @@ [tox] envlist = - py{39,310,311,312}-test-mpl{33,34,35,36,37,38} - py312-test-mpldev-pytestdev + py{312,313,314}-test-mpl{35,36,37,38,39,310}-pytest{62,70,71,72,73,74,80,81,82,83,84} + py314-test-mpldev-pytestdev codestyle requires = setuptools >= 30.3.0 @@ -22,28 +22,15 @@ constrain_package_deps = !mpldev-!pytestdev: true deps = pytest-xdist - mpl20: matplotlib==2.0.* - mpl21: matplotlib==2.1.* - mpl22: matplotlib==2.2.* - mpl22: numpy<2 - mpl30: matplotlib==3.0.* - mpl31: matplotlib==3.1.* - mpl31: numpy<2 - mpl32: matplotlib==3.2.* - mpl33: matplotlib==3.3.* - mpl33: numpy<2 - mpl34: matplotlib==3.4.* - mpl35: matplotlib==3.5.* + mpl{35,36,37,38,39}: pyparsing<3.3.0 mpl35: numpy<2 + mpl35: matplotlib==3.5.* mpl36: matplotlib==3.6.* mpl37: matplotlib==3.7.* mpl38: matplotlib==3.8.* mpl39: matplotlib==3.9.* mpl310: matplotlib==3.10.* mpldev: matplotlib>=0.0.dev0 - pytest54: pytest==5.4.* - pytest60: pytest==6.0.* - pytest61: pytest==6.1.* pytest62: pytest==6.2.* pytest70: pytest==7.0.* pytest71: pytest==7.1.* @@ -54,6 +41,7 @@ deps = pytest81: pytest==8.1.* pytest82: pytest==8.2.* pytest83: pytest==8.3.* + pytest84: pytest==8.4.* pytestdev: git+https://github.com/pytest-dev/pytest.git#egg=pytest extras = test