-
-
Notifications
You must be signed in to change notification settings - Fork 8.6k
[py] Support Python 3.14 and drop Python 3.9 #16342
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: trunk
Are you sure you want to change the base?
Conversation
PR Reviewer Guide 🔍Here are some key observations to aid the review process:
|
PR Code Suggestions ✨Explore these optional code suggestions:
|
No issues if the CI passes with 3.10, which it does, there seems to be a minor issue with docs and mypy CI, it is looking for python 3.1 instead of 3.10. |
I agree w/ @navin772, as long as we can fully support the next up I'd like to keep us from supporting anything not supported by the Python project. To answer your question directly though, I am not aware of any issues w/ dropping 3.9 specifically. |
Fixed. I'll merge this in a few days after 3.14 is officially released. |
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.
LGTM!
User description
💥 What does this PR do?
Adds support for Python 3.14 (released: 10/7/2025): https://docs.python.org/3/whatsnew/3.14.html
Drops support for Python 3.9. This version is officially EOL as of 10/31/2025. Some of our dependencies have already dropped support for 3.9 and it is becoming problematic to continue supporting it.
Changes the default version of Python we use in CI workflow jobs to 3.10
Updates all Python dependencies for testing and packaging.
Updates Bazel and workflow configurations to enable running unit tests on the oldest/newest versions on Python we support.
Removes build requirement from CI jobs that don't require it
🔄 Types of changes
PR Type
Enhancement
Description
Add Python 3.14 support and drop Python 3.9
Update CI default Python version to 3.10
Upgrade dependencies and build tools
Update documentation and installation instructions
Diagram Walkthrough
File Walkthrough
5 files
Update CI Python version to 3.10
Update documentation workflow Python version
Update Python toolchain and dependencies
Update Python classifiers and requirements
Update Python requirements and dependencies
5 files
Update ruff version to 0.13.3
Upgrade Sphinx to 8.1.3
Update development dependencies
Regenerate locked requirements for Python 3.10
Update mypy and ruff versions
1 files
Update supported Python version documentation