Skip to content
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

[Backport to 1.67.x] Add templating and support for Python 3.13 (#37643) #37803

Merged
merged 1 commit into from
Sep 26, 2024

Conversation

sreenithi
Copy link
Contributor

This PR adds templating for Python versions and updates the maximum supported Python version to 3.13. The following major changes related to templating are added:

  • Minimum supported Python version and list of supported versions in setup.py are fetched using new template generated files called python_version.py
  • Dockerfiles for the different Python Linux builds are now template generated.
  • The "Supported Python Versions" section from READMEs of ancillary and main packages have been removed

Note: All the python_version.py files and Linux build Dockerfiles except tools/dockerfile/grpc_artifact_python_linux_armv7/Dockerfile in the PR are generated from the respective templates.

Further non-templated additions to add support for Python 3.13:

  • install scripts and artifacts for windows, macos and linux are added manually. Later, these can be templated as well.
  • updated cython bounds to 3.x
  • updated twine version to solve cgi module import error
  • the twine update introduces a dependency on cryptography>=2.0. But the cryptography package doesn't support 32-bit Linux images and hence twine check has been disabled for x86 manylinux and x86 musllinux artifacts.

Closes #37643

PiperOrigin-RevId: 678954495

This PR adds templating for Python versions and updates the maximum supported Python version to 3.13. The following major changes related to templating are added:
 - Minimum supported Python version and list of supported versions in `setup.py` are fetched using new template generated files called `python_version.py`
 - Dockerfiles for the different Python Linux builds are now template generated.
 - The "Supported Python Versions" section from READMEs of ancillary and main packages have been removed

Note: All the `python_version.py` files and Linux build `Dockerfiles` except `tools/dockerfile/grpc_artifact_python_linux_armv7/Dockerfile` in the PR are generated from the respective templates.

Further non-templated additions to add support for Python 3.13:
 - install scripts and artifacts for windows, macos and linux are added manually. Later, these can be templated as well.
 - updated cython bounds to 3.x
 - updated twine version to solve [cgi module import error](pypa/twine#1046)
 - the twine update introduces a dependency on cryptography>=2.0. But the cryptography package doesn't support 32-bit Linux images and hence `twine check` has been disabled for x86 manylinux and x86 musllinux artifacts.

Closes grpc#37643

PiperOrigin-RevId: 678954495
@sreenithi sreenithi added the release notes: yes Indicates if PR needs to be in release notes label Sep 26, 2024
@sreenithi sreenithi changed the title [Backport] Add templating and support for Python 3.13 (#37643) [Backport to 1.67.x] Add templating and support for Python 3.13 (#37643) Sep 26, 2024
@gnossen gnossen merged commit bcfee53 into grpc:v1.67.x Sep 26, 2024
62 of 65 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants