Skip to content

Conversation

@sreenithi
Copy link
Contributor

@sreenithi sreenithi commented Sep 5, 2024

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.

Copy link
Contributor

@XuanWang-Amos XuanWang-Amos left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good so far, great job!

@sreenithi sreenithi changed the title [DO-NOT-MERGE] Add templating and support for Python 3.13 Add templating and support for Python 3.13 Sep 25, 2024
@@ -0,0 +1,19 @@
RUN git config --global --add safe.directory /var/local/jenkins/grpc
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we do need find a way to simplify this file, this can be done in a follow up PR. Can you add a TODO here?

Copy link
Contributor Author

@sreenithi sreenithi Sep 25, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done, have also added a note on why it is currently so

sreenithi added a commit to sreenithi/grpc that referenced this pull request Sep 26, 2024
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 added a commit to sreenithi/grpc that referenced this pull request Sep 26, 2024
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
sourabhsinghs pushed a commit to sourabhsinghs/grpc that referenced this pull request Sep 26, 2024
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
gnossen pushed a commit that referenced this pull request Sep 26, 2024
) (#37802)

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 #37643

PiperOrigin-RevId: 678954495




<!--

If you know who should review your pull request, please assign it to
that
person, otherwise the pull request would get assigned randomly.

If your pull request is for a specific language, please add the
appropriate
lang label.

-->
gnossen pushed a commit that referenced this pull request Sep 26, 2024
…) (#37803)

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 #37643

PiperOrigin-RevId: 678954495




<!--

If you know who should review your pull request, please assign it to
that
person, otherwise the pull request would get assigned randomly.

If your pull request is for a specific language, please add the
appropriate
lang label.

-->
sreenithi added a commit that referenced this pull request Oct 14, 2024
paulosjca pushed a commit to paulosjca/grpc that referenced this pull request Nov 25, 2024
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
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