-
Notifications
You must be signed in to change notification settings - Fork 3.3k
[Packaging] Support Python 3.13 #31895
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
Conversation
️✔️AzureCLI-FullTest
|
️✔️AzureCLI-BreakingChangeTest
|
|
Thank you for your contribution! We will review the pull request and get back to you soon. |
|
The git hooks are available for azure-cli and azure-cli-extensions repos. They could help you run required checks before creating the PR. Please sync the latest code with latest dev branch (for azure-cli) or main branch (for azure-cli-extensions). pip install azdev --upgrade
azdev setup -c <your azure-cli repo path> -r <your azure-cli-extensions repo path>
|
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 updates the Azure CLI to support Python 3.13 by adding it as a supported programming language classifier in setup files and updating CI configurations to use Python 3.13 as the default version.
- Add Python 3.13 support declarations to all setup.py files
- Update CI pipeline configurations to use Python 3.13 as the default version
- Update documentation to reflect Python 3.9-3.13 support range
Reviewed Changes
Copilot reviewed 12 out of 12 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| src/azure-cli/setup.py | Add Python 3.13 classifier |
| src/azure-cli-testsdk/setup.py | Add Python 3.13 classifier |
| src/azure-cli-telemetry/setup.py | Add Python 3.13 classifier |
| src/azure-cli-core/setup.py | Add Python 3.13 classifier |
| scripts/regression_test/regression_test.yml | Update Python version from 3.12 to 3.13 |
| scripts/ci/test_extensions.sh | Add serviceconnector-passwordless to ignore list and remove extension name from error message |
| doc/install_linux_prerequisites.md | Update supported Python versions and remove Ubuntu 20.04 LTS |
| doc/extensions/authoring.md | Update supported Python versions |
| doc/command_guidelines.md | Update supported Python versions |
| azure-pipelines.yml | Update Python version from 3.12 to 3.13 in CI jobs |
| azure-pipelines-full-tests.yml | Update Python version from 3.9/3.12 to 3.12/3.13 |
| .azure-pipelines/breaking-change-tests.yml | Update Python version from 3.12 to 3.13 |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
| then | ||
| exit_code=1 | ||
| echo "Failed to verify:" $ext | ||
| echo "Failed to verify" |
Copilot
AI
Aug 13, 2025
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.
The error message has been made less informative by removing the extension name variable. This makes debugging more difficult as it no longer indicates which specific extension failed verification.
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.
$ext is meaningless, it always points to last extension.
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.
I guess this line is copy-and-pasted from L55 without too much thinking.
| Python39: | ||
| python.version: '3.9' |
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.
We should not drop Python 3.9's test as we need to make sure our code works on Python 3.9
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.
We only test the Python which is used in official package.
Currently, RPM used 3.12, DEB, macOS and Windows use 3.13.
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.
We should have removed 3.9's test in #31264.
|
No need to bump pylint and updating linter rules? We did a lot to support Python 3.12: #27673. |
There no major version bump in Pylint. Azdev is using the latest version.
|
# Conflicts: # azure-pipelines-full-tests.yml # doc/command_guidelines.md # doc/extensions/authoring.md # doc/install_linux_prerequisites.md # scripts/regression_test/regression_test.yml
Description
Changes:
setup.pyto support 3.13