-
Notifications
You must be signed in to change notification settings - Fork 2
Support Python 3.14 #2871
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Support Python 3.14 #2871
Conversation
Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 8.2.3 to 9.1.0. - [Release notes](https://github.com/sphinx-doc/sphinx/releases) - [Changelog](https://github.com/sphinx-doc/sphinx/blob/master/CHANGES.rst) - [Commits](sphinx-doc/sphinx@v8.2.3...v9.1.0) --- updated-dependencies: - dependency-name: sphinx dependency-version: 9.1.0 dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
Use modulo arithmetic to map job index to secrets file index, ensuring that adding Python versions to the matrix doesn't break the secrets file lookup. Each test pattern maps to the same secrets file regardless of Python version. The number of secrets files is determined dynamically from the extracted tarball.
This reverts commit 9a342f4.
Beartype requires imports to be available at runtime, not just under `if TYPE_CHECKING`. See beartype/beartype#594 for when beartype 0.23 will add support for TYPE_CHECKING imports. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.
| "Operating System :: POSIX", | ||
| "Programming Language :: Python :: 3 :: Only", | ||
| "Programming Language :: Python :: 3.13", | ||
| "Programming Language :: Python :: 3.14", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Python 3.13 support dropped instead of adding 3.14
High Severity
The PR description states "Add Python 3.14 to the test matrix and classifiers" but the implementation replaces Python 3.13 with 3.14 instead of adding 3.14 alongside it. The requires-python constraint was changed from >=3.13 to >=3.14, the test matrices now only include '3.14' instead of ['3.13', '3.14'], and the classifiers only list Python :: 3.14. This drops support for Python 3.13 users, which is a breaking change that contradicts the stated intent.
Additional Locations (1)
Python 3.14's deferred annotation evaluation (PEP 649) causes `_Stringifier.__format__` to raise a TypeError when beartype inspects function signatures at test collection time. This is a workaround until beartype 0.23 is released with full Python 3.14 support. See: - beartype/beartype#594 - beartype/beartype#440 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add Python 3.14 to the test matrix and classifiers.
Note
Upgrades project to Python 3.14 and removes 3.13 usage.
>=3.14inpyproject.toml, updates classifiers and README substitution, and setsmax_supported_pythonto"3.14"3.14python:3.14-slimbeartypeto test functions inconftest.pydue to 3.14 annotations issue; add explanatory docstringTC001-3to accommodate beartype’s runtime import needsWritten by Cursor Bugbot for commit 152c09a. This will update automatically on new commits. Configure here.