@@ -5,21 +5,23 @@ isolated_build = true
55envlist =
66 py38-pytest{7.0, 7.x, 8.0, 8.x}-mypy{1.0, 1.x}-xdist{1.x, 2.0, 2.x, 3.0, 3.x}
77 py39-pytest{7.0, 7.x, 8.0, 8.x}-mypy{1.0, 1.x}-xdist{1.x, 2.0, 2.x, 3.0, 3.x}
8- py310-pytest{7.0, 7.x, 8.0, 8.x}-mypy{1.0, 1.x}-xdist{1.x, 2.0, 2.x, 3.0, 3.x}
9- py311-pytest{7.0, 7.x, 8.0, 8.x}-mypy{1.0, 1.x}-xdist{1.x, 2.0, 2.x, 3.0, 3.x}
10- py312-pytest{7.0, 7.x, 8.0, 8.x}-mypy{1.0, 1.x}-xdist{1.x, 2.0, 2.x, 3.0, 3.x}
11- py313-pytest{7.0, 7.x, 8.0, 8.x}-mypy{1.0, 1.x}-xdist{1.x, 2.0, 2.x, 3.0, 3.x}
8+ py310-pytest{7.0, 7.x, 8.0, 8.x, 9.0, 9.x}-mypy{1.0, 1.x, 2.0, 2.x}-xdist{1.x, 2.0, 2.x, 3.0, 3.x}
9+ py311-pytest{7.0, 7.x, 8.0, 8.x, 9.0, 9.x}-mypy{1.0, 1.x, 2.0, 2.x}-xdist{1.x, 2.0, 2.x, 3.0, 3.x}
10+ py312-pytest{7.0, 7.x, 8.0, 8.x, 9.0, 9.x}-mypy{1.0, 1.x, 2.0, 2.x}-xdist{1.x, 2.0, 2.x, 3.0, 3.x}
11+ py313-pytest{7.0, 7.x, 8.0, 8.x, 9.0, 9.x}-mypy{1.0, 1.x, 2.0, 2.x}-xdist{1.x, 2.0, 2.x, 3.0, 3.x}
12+ py314-pytest{9.0, 9.x}-mypy{2.0, 2.x}-xdist{1.x, 2.0, 2.x, 3.0, 3.x}
1213 static
1314 publish
1415
1516[gh-actions]
1617python =
1718 3.8: py38-pytest{7.0, 7.x, 8.0, 8.x}-mypy{1.0, 1.x}-xdist{1.x, 2.0, 2.x, 3.0, 3.x}
1819 3.9: py39-pytest{7.0, 7.x, 8.0, 8.x}-mypy{1.0, 1.x}-xdist{1.x, 2.0, 2.x, 3.0, 3.x}
19- 3.10: py310-pytest{7.0, 7.x, 8.0, 8.x}-mypy{1.0, 1.x}-xdist{1.x, 2.0, 2.x, 3.0, 3.x}
20- 3.11: py311-pytest{7.0, 7.x, 8.0, 8.x}-mypy{1.0, 1.x}-xdist{1.x, 2.0, 2.x, 3.0, 3.x}
21- 3.12: py312-pytest{7.0, 7.x, 8.0, 8.x}-mypy{1.0, 1.x}-xdist{1.x, 2.0, 2.x, 3.0, 3.x}, static, publish
22- 3.13: py313-pytest{7.0, 7.x, 8.0, 8.x}-mypy{1.0, 1.x}-xdist{1.x, 2.0, 2.x, 3.0, 3.x}
20+ 3.10: py310-pytest{7.0, 7.x, 8.0, 8.x, 9.0, 9.x}-mypy{1.0, 1.x, 2.0, 2.x}-xdist{1.x, 2.0, 2.x, 3.0, 3.x}
21+ 3.11: py311-pytest{7.0, 7.x, 8.0, 8.x, 9.0, 9.x}-mypy{1.0, 1.x, 2.0, 2.x}-xdist{1.x, 2.0, 2.x, 3.0, 3.x}
22+ 3.12: py312-pytest{7.0, 7.x, 8.0, 8.x, 9.0, 9.x}-mypy{1.0, 1.x, 2.0, 2.x}-xdist{1.x, 2.0, 2.x, 3.0, 3.x}, static, publish
23+ 3.13: py313-pytest{7.0, 7.x, 8.0, 8.x, 9.0, 9.x}-mypy{1.0, 1.x, 2.0, 2.x}-xdist{1.x, 2.0, 2.x, 3.0, 3.x}
24+ 3.14: py314-pytest{7.0, 7.x, 8.0, 8.x, 9.0, 9.x}-mypy{1.0, 1.x, 2.0, 2.x}-xdist{1.x, 2.0, 2.x, 3.0, 3.x}
2325
2426[testenv]
2527constrain_package_deps = true
@@ -28,17 +30,21 @@ deps =
2830 pytest7.x: pytest ~= 7.0
2931 pytest8.0: pytest ~= 8.0.0
3032 pytest8.x: pytest ~= 8.0
33+ pytest9.0: pytest ~= 9.0.0
34+ pytest9.x: pytest ~= 9.0
3135 mypy1.0: mypy ~= 1.0.0
3236 mypy1.x: mypy ~= 1.0
37+ mypy2.0: mypy ~= 2.0.0
38+ mypy2.x: mypy ~= 2.0
3339 xdist1.x: pytest-xdist ~= 1.0
3440 xdist2.0: pytest-xdist ~= 2.0.0
3541 xdist2.x: pytest-xdist ~= 2.0
3642 xdist3.0: pytest-xdist ~= 3.0.0
3743 xdist3.x: pytest-xdist ~= 3.0
3844
39- packaging ~= 21.3
40- pytest-cov ~= 4.1 .0
41- pytest-randomly ~= 3.4
45+ packaging ~= 26.2
46+ pytest-cov ~= 5.0 .0
47+ pytest-randomly ~= 3.15
4248setenv =
4349 COVERAGE_FILE = .coverage.{envname}
4450commands = pytest -p no:mypy {posargs:--cov pytest_mypy --cov-branch --cov-fail-under 100 --cov-report term-missing -n auto}
@@ -50,22 +56,22 @@ testpaths = tests
5056passenv = TWINE_*
5157constrain_package_deps = false
5258deps =
53- build[virtualenv] ~= 1.0 .0
54- twine ~= 5.0 .0
59+ build[virtualenv] ~= 1.5 .0
60+ twine ~= 6.2 .0
5561commands =
5662 {envpython} -m build --outdir {envtmpdir} .
5763 twine {posargs:check} {envtmpdir}/*
5864
5965[testenv:static]
6066basepython = py312 # pytest.Node.from_parent uses typing.Self
6167deps =
62- bandit ~= 1.7 .0
63- black ~= 24.2 .0
64- flake8 ~= 7.0 .0
65- mypy ~= 1.11 .0
68+ bandit ~= 1.9 .0
69+ black ~= 26.5 .0
70+ flake8 ~= 7.3 .0
71+ mypy ~= 2.1 .0
6672 pytest-xdist >= 3.6.0 # needed for type-checking
6773commands =
68- black --check src tests
74+ black --check --target-version py38 src tests
6975 flake8 src tests
7076 mypy --strict src
7177 bandit --recursive src
0 commit comments