Skip to content

Commit 3638f1a

Browse files
authored
Update Python version support and fix PyPy test environments (#184)
* Update the tox environments Removed Python 3.9, added PyPy3.11, Python 3.14, and 3.15. * Fix PyPy tox environments Recent versions (1.19.0+) of mypy depend on librt that fails to compile on PyPy, breaking PyPy builds.
1 parent cdaa9b3 commit 3638f1a

File tree

2 files changed

+24
-11
lines changed

2 files changed

+24
-11
lines changed

.github/workflows/main.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
fail-fast: false
2121
matrix:
2222
os: [Ubuntu, MacOS, Windows]
23-
python-version: ["3.10", "3.11", "3.12", "3.13"]
23+
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
2424
architecture: ["x86", "x64"]
2525
experimental: [false]
2626
defaults:
@@ -62,7 +62,7 @@ jobs:
6262
fail-fast: true
6363
matrix:
6464
os: [Ubuntu, MacOS, Windows]
65-
python-version: ["3.14-dev"]
65+
python-version: ["3.15-dev"]
6666
architecture: ["x86", "x64"]
6767
experimental: [true]
6868
defaults:
@@ -106,7 +106,7 @@ jobs:
106106
fail-fast: true
107107
matrix:
108108
os: [Ubuntu, MacOS, Windows]
109-
python-version: ["pypy3.10"]
109+
python-version: ["pypy3.10", "pypy3.11"]
110110
architecture: ["x64"]
111111
experimental: [false]
112112
defaults:

tox.ini

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
[gh-actions]
22
python =
3-
3.13-dev: python3.13
3+
3.15-dev: py3.15
4+
3.14: py3.14
45
3.13: py3.13
56
3.12: py3.12, lint, build, type
67
3.11: py3.11
78
3.10: py3.10
8-
3.9: py3.9
9+
pypy-3.11: pypy3.11
910
pypy-3.10: pypy3.10
10-
pypy-3.9: pypy3.9
1111

1212
[tox]
1313
requires =
@@ -16,10 +16,9 @@ env_list =
1616
lint
1717
build
1818
type
19-
py{3.9,3.10,3.11,3.12,3.13}
20-
py{3.9,3.10,3.11,3.12,3.13}-win32
21-
python3.13
22-
pypy3.{9,10}
19+
py3.{10,11,12,13,14,15}
20+
py3.{10,11,12,13,14,15}-win32
21+
pypy3.{10,11}
2322
coverage
2423

2524
[testenv]
@@ -29,12 +28,26 @@ deps =
2928
pytest-cov>=6.0
3029
coverage>=7.6
3130
wheel>=0.45
32-
commands =
31+
commands_pre =
3332
pip install -e .
33+
commands =
3434
pytest . --cov --cov-report=term-missing -vv --doctest-glob="*.py"
3535
coverage report
3636
coverage xml
3737

38+
[testenv:pypy3.{10,11}]
39+
description = Run Unit Tests on PyPy
40+
# We need to set skip_install so that the build system requirements from
41+
# pyproject.toml are not installed automatically.
42+
skip_install = true
43+
deps =
44+
# Build system requirements. No mypy because, since version 1.19, it depends
45+
# on librt, which cannot be built against PyPy.
46+
setuptools
47+
{[testenv]deps}
48+
commands_pre =
49+
pip install --no-build-isolation -e .
50+
3851
[testenv:lint]
3952
description = Run Linters
4053
deps =

0 commit comments

Comments
 (0)