Repository navigation
Modernize CI for Python 3.15 and PyPy 3.12 - #210
Merged
Merged
Conversation
Require Python 3.11 or newer, retire CPython and PyPy 3.10, and run primary lint, build, and cross-platform jobs on Python 3.15. Add stable PyPy 3.12 coverage, update Actions and Black tooling, and satisfy dependencies of bundled PyPy packages in tox.
ulfarsson
approved these changes
Oct 24, 2026
ulfarsson
left a comment
Member
There was a problem hiding this comment.
These are almost exclusively numbered updates on things we are already doing. Looks good.
Member
|
Maybe the tox lines 59-67 in the readme are a bit too verbose |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Make Python 3.15 primary for linting, type checking, packaging, and Linux/macOS/Windows tests. Keep Linux compatibility coverage for CPython 3.11–3.14 and PyPy 3.11, and add a required stable PyPy 3.12 job.
Drop CPython and PyPy 3.10 support for the next release: require Python >=3.11, update package classifiers, target Python 3.11 in Black, and document the change. Runtime dependencies are unchanged.
Update checkout and setup-python to v7 in both workflows, add pip caching, cancellation of superseded runs, manual dispatch, read-only workflow permissions, a 60-minute job timeout, and weekly Dependabot updates for Actions. Require tox 4, forward pytest arguments, and run pip check/freeze inside test environments. Add pycparser and setuptools only on PyPy to satisfy its bundled cffi/HPy dependencies. Align the Black pre-commit pin with tox and avoid installing the package in the formatting environment.
Validation:
All 13 jobs in the hosted PR matrix pass, including CPython 3.11–3.15, PyPy 3.11/3.12, and Python 3.15 on Linux, macOS, and Windows.