- Notifications
You must be signed in to change notification settings - Fork5.7k
Add support for Python 3.14 beta#4825
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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Uh oh!
There was an error while loading.Please reload this page.
Conversation
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.
Pull Request Overview
This PR adds support for Python 3.14 beta by updating configuration files and dependency lists, ensuring compatibility with the latest version. Key changes include updating the pytest distributed execution option in the tests documentation, modifying dependency definitions in pyproject.toml to include Python 3.14–specific variants (including a temporary pydantic dependency and retaining pytz for testing), and updating the GitHub workflow to include a Python 3.14 beta version in the testing matrix.
Reviewed Changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.
File | Description |
---|---|
tests/README.rst | Updated pytest-xdist option from "--dist=loadgroup" to "--dist=worksteal". |
pyproject.toml | Added Python 3.14 classifier and adjusted dependency definitions for new version support. |
.github/workflows/unit_tests.yml | Included Python 3.14 beta in the test matrix and removed manual installation of pytz. |
Comments suppressed due to low confidence (3)
tests/README.rst:45
- [nitpick] Ensure that the use of '--dist=worksteal' is supported by the installed version of pytest-xdist and that any relevant documentation is updated accordingly.
$ pytest -n auto --dist=worksteal
pyproject.toml:116
- [nitpick] Consider clarifying this comment to indicate that pytz is retained solely for backward compatibility in testing, helping users understand its role despite deprecation elsewhere.
# We've deprecated support pytz, but we still need it for testing that it works with the library.
.github/workflows/unit_tests.yml:64
- After removing the manual installation of pytz, please verify that all testing environments receive the correct dependencies so tests relying on pytz pass reliably.
# need to manually install pytz here, because it's no longer in the optional reqs
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.
Thanks for the PR!
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
b15507f
intomasterUh oh!
There was an error while loading.Please reload this page.
Also adds pytz to the test dependency group since it was impossible to run the test suite without it.
Tested locally with uv's python 3.14, and with JIT enabled. Also confirmed that test official passes on 3.14 with the changes to annotations.