mirror of https://github.com/grpc/grpc.git
Add templating and support for Python 3.13 (#37643)
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](https://github.com/pypa/twine/issues/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: 678954495pull/37788/head^2
parent
ac31fb0f61
commit
f2ffbb89a2
105 changed files with 1260 additions and 218 deletions
@ -0,0 +1,20 @@ |
|||||||
|
# Copyright 2024 gRPC authors. |
||||||
|
# |
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); |
||||||
|
# you may not use this file except in compliance with the License. |
||||||
|
# You may obtain a copy of the License at |
||||||
|
# |
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0 |
||||||
|
# |
||||||
|
# Unless required by applicable law or agreed to in writing, software |
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, |
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||||
|
# See the License for the specific language governing permissions and |
||||||
|
# limitations under the License. |
||||||
|
|
||||||
|
# AUTO-GENERATED FROM `$REPO_ROOT/templates/src/python/grpcio/python_version.py.template`!!! |
||||||
|
|
||||||
|
SUPPORTED_PYTHON_VERSIONS = ['3.8', '3.9', '3.10', '3.11', '3.12', '3.13'] |
||||||
|
|
||||||
|
MIN_PYTHON_VERSION = 3.8 |
||||||
|
MAX_PYTHON_VERSION = 3.13 |
@ -1,4 +1,5 @@ |
|||||||
include grpc_version.py |
include grpc_version.py |
||||||
|
include python_version.py |
||||||
recursive-include grpc_admin *.py |
recursive-include grpc_admin *.py |
||||||
global-exclude *.pyc |
global-exclude *.pyc |
||||||
include LICENSE |
include LICENSE |
||||||
|
@ -0,0 +1,20 @@ |
|||||||
|
# Copyright 2024 gRPC authors. |
||||||
|
# |
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); |
||||||
|
# you may not use this file except in compliance with the License. |
||||||
|
# You may obtain a copy of the License at |
||||||
|
# |
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0 |
||||||
|
# |
||||||
|
# Unless required by applicable law or agreed to in writing, software |
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, |
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||||
|
# See the License for the specific language governing permissions and |
||||||
|
# limitations under the License. |
||||||
|
|
||||||
|
# AUTO-GENERATED FROM `$REPO_ROOT/templates/src/python/grpcio_admin/python_version.py.template`!!! |
||||||
|
|
||||||
|
SUPPORTED_PYTHON_VERSIONS = ['3.8', '3.9', '3.10', '3.11', '3.12', '3.13'] |
||||||
|
|
||||||
|
MIN_PYTHON_VERSION = 3.8 |
||||||
|
MAX_PYTHON_VERSION = 3.13 |
@ -1,4 +1,5 @@ |
|||||||
include grpc_version.py |
include grpc_version.py |
||||||
|
include python_version.py |
||||||
recursive-include grpc_channelz *.py *.pyi |
recursive-include grpc_channelz *.py *.pyi |
||||||
global-exclude *.pyc |
global-exclude *.pyc |
||||||
include LICENSE |
include LICENSE |
||||||
|
@ -0,0 +1,20 @@ |
|||||||
|
# Copyright 2024 gRPC authors. |
||||||
|
# |
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); |
||||||
|
# you may not use this file except in compliance with the License. |
||||||
|
# You may obtain a copy of the License at |
||||||
|
# |
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0 |
||||||
|
# |
||||||
|
# Unless required by applicable law or agreed to in writing, software |
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, |
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||||
|
# See the License for the specific language governing permissions and |
||||||
|
# limitations under the License. |
||||||
|
|
||||||
|
# AUTO-GENERATED FROM `$REPO_ROOT/templates/src/python/grpcio_channelz/python_version.py.template`!!! |
||||||
|
|
||||||
|
SUPPORTED_PYTHON_VERSIONS = ['3.8', '3.9', '3.10', '3.11', '3.12', '3.13'] |
||||||
|
|
||||||
|
MIN_PYTHON_VERSION = 3.8 |
||||||
|
MAX_PYTHON_VERSION = 3.13 |
@ -1,4 +1,5 @@ |
|||||||
include grpc_version.py |
include grpc_version.py |
||||||
|
include python_version.py |
||||||
recursive-include grpc_csds *.py |
recursive-include grpc_csds *.py |
||||||
global-exclude *.pyc |
global-exclude *.pyc |
||||||
include LICENSE |
include LICENSE |
||||||
|
@ -0,0 +1,20 @@ |
|||||||
|
# Copyright 2024 gRPC authors. |
||||||
|
# |
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); |
||||||
|
# you may not use this file except in compliance with the License. |
||||||
|
# You may obtain a copy of the License at |
||||||
|
# |
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0 |
||||||
|
# |
||||||
|
# Unless required by applicable law or agreed to in writing, software |
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, |
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||||
|
# See the License for the specific language governing permissions and |
||||||
|
# limitations under the License. |
||||||
|
|
||||||
|
# AUTO-GENERATED FROM `$REPO_ROOT/templates/src/python/grpcio_csds/python_version.py.template`!!! |
||||||
|
|
||||||
|
SUPPORTED_PYTHON_VERSIONS = ['3.8', '3.9', '3.10', '3.11', '3.12', '3.13'] |
||||||
|
|
||||||
|
MIN_PYTHON_VERSION = 3.8 |
||||||
|
MAX_PYTHON_VERSION = 3.13 |
@ -1,4 +1,5 @@ |
|||||||
graft src/python/grpcio_csm_observability/grpc_csm_observability.egg-info |
graft src/python/grpcio_csm_observability/grpc_csm_observability.egg-info |
||||||
graft grpc_csm_observability |
graft grpc_csm_observability |
||||||
include grpc_version.py |
include grpc_version.py |
||||||
|
include python_version.py |
||||||
include README.rst |
include README.rst |
||||||
|
@ -0,0 +1,20 @@ |
|||||||
|
# Copyright 2024 gRPC authors. |
||||||
|
# |
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); |
||||||
|
# you may not use this file except in compliance with the License. |
||||||
|
# You may obtain a copy of the License at |
||||||
|
# |
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0 |
||||||
|
# |
||||||
|
# Unless required by applicable law or agreed to in writing, software |
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, |
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||||
|
# See the License for the specific language governing permissions and |
||||||
|
# limitations under the License. |
||||||
|
|
||||||
|
# AUTO-GENERATED FROM `$REPO_ROOT/templates/src/python/grpcio_csm_observability/python_version.py.template`!!! |
||||||
|
|
||||||
|
SUPPORTED_PYTHON_VERSIONS = ['3.8', '3.9', '3.10', '3.11', '3.12', '3.13'] |
||||||
|
|
||||||
|
MIN_PYTHON_VERSION = 3.8 |
||||||
|
MAX_PYTHON_VERSION = 3.13 |
@ -1,4 +1,5 @@ |
|||||||
include grpc_version.py |
include grpc_version.py |
||||||
|
include python_version.py |
||||||
recursive-include grpc_health *.py *.pyi |
recursive-include grpc_health *.py *.pyi |
||||||
global-exclude *.pyc |
global-exclude *.pyc |
||||||
include LICENSE |
include LICENSE |
||||||
|
@ -0,0 +1,20 @@ |
|||||||
|
# Copyright 2024 gRPC authors. |
||||||
|
# |
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); |
||||||
|
# you may not use this file except in compliance with the License. |
||||||
|
# You may obtain a copy of the License at |
||||||
|
# |
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0 |
||||||
|
# |
||||||
|
# Unless required by applicable law or agreed to in writing, software |
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, |
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||||
|
# See the License for the specific language governing permissions and |
||||||
|
# limitations under the License. |
||||||
|
|
||||||
|
# AUTO-GENERATED FROM `$REPO_ROOT/templates/src/python/grpcio_health_checking/python_version.py.template`!!! |
||||||
|
|
||||||
|
SUPPORTED_PYTHON_VERSIONS = ['3.8', '3.9', '3.10', '3.11', '3.12', '3.13'] |
||||||
|
|
||||||
|
MIN_PYTHON_VERSION = 3.8 |
||||||
|
MAX_PYTHON_VERSION = 3.13 |
@ -0,0 +1,20 @@ |
|||||||
|
# Copyright 2024 gRPC authors. |
||||||
|
# |
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); |
||||||
|
# you may not use this file except in compliance with the License. |
||||||
|
# You may obtain a copy of the License at |
||||||
|
# |
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0 |
||||||
|
# |
||||||
|
# Unless required by applicable law or agreed to in writing, software |
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, |
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||||
|
# See the License for the specific language governing permissions and |
||||||
|
# limitations under the License. |
||||||
|
|
||||||
|
# AUTO-GENERATED FROM `$REPO_ROOT/templates/src/python/grpcio_observability/python_version.py.template`!!! |
||||||
|
|
||||||
|
SUPPORTED_PYTHON_VERSIONS = ['3.8', '3.9', '3.10', '3.11', '3.12', '3.13'] |
||||||
|
|
||||||
|
MIN_PYTHON_VERSION = 3.8 |
||||||
|
MAX_PYTHON_VERSION = 3.13 |
@ -1,4 +1,5 @@ |
|||||||
include grpc_version.py |
include grpc_version.py |
||||||
|
include python_version.py |
||||||
recursive-include grpc_reflection *.py *.pyi |
recursive-include grpc_reflection *.py *.pyi |
||||||
global-exclude *.pyc |
global-exclude *.pyc |
||||||
include LICENSE |
include LICENSE |
||||||
|
@ -0,0 +1,20 @@ |
|||||||
|
# Copyright 2024 gRPC authors. |
||||||
|
# |
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); |
||||||
|
# you may not use this file except in compliance with the License. |
||||||
|
# You may obtain a copy of the License at |
||||||
|
# |
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0 |
||||||
|
# |
||||||
|
# Unless required by applicable law or agreed to in writing, software |
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, |
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||||
|
# See the License for the specific language governing permissions and |
||||||
|
# limitations under the License. |
||||||
|
|
||||||
|
# AUTO-GENERATED FROM `$REPO_ROOT/templates/src/python/grpcio_reflection/python_version.py.template`!!! |
||||||
|
|
||||||
|
SUPPORTED_PYTHON_VERSIONS = ['3.8', '3.9', '3.10', '3.11', '3.12', '3.13'] |
||||||
|
|
||||||
|
MIN_PYTHON_VERSION = 3.8 |
||||||
|
MAX_PYTHON_VERSION = 3.13 |
@ -0,0 +1,20 @@ |
|||||||
|
# Copyright 2024 gRPC authors. |
||||||
|
# |
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); |
||||||
|
# you may not use this file except in compliance with the License. |
||||||
|
# You may obtain a copy of the License at |
||||||
|
# |
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0 |
||||||
|
# |
||||||
|
# Unless required by applicable law or agreed to in writing, software |
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, |
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||||
|
# See the License for the specific language governing permissions and |
||||||
|
# limitations under the License. |
||||||
|
|
||||||
|
# AUTO-GENERATED FROM `$REPO_ROOT/templates/src/python/grpcio_status/python_version.py.template`!!! |
||||||
|
|
||||||
|
SUPPORTED_PYTHON_VERSIONS = ['3.8', '3.9', '3.10', '3.11', '3.12', '3.13'] |
||||||
|
|
||||||
|
MIN_PYTHON_VERSION = 3.8 |
||||||
|
MAX_PYTHON_VERSION = 3.13 |
@ -0,0 +1,22 @@ |
|||||||
|
%YAML 1.2 |
||||||
|
--- | |
||||||
|
# Copyright 2024 gRPC authors. |
||||||
|
# |
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); |
||||||
|
# you may not use this file except in compliance with the License. |
||||||
|
# You may obtain a copy of the License at |
||||||
|
# |
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0 |
||||||
|
# |
||||||
|
# Unless required by applicable law or agreed to in writing, software |
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, |
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||||
|
# See the License for the specific language governing permissions and |
||||||
|
# limitations under the License. |
||||||
|
|
||||||
|
# AUTO-GENERATED FROM `$REPO_ROOT/templates/src/python/grpcio/python_version.py.template`!!! |
||||||
|
|
||||||
|
SUPPORTED_PYTHON_VERSIONS = ${settings.supported_python_versions} |
||||||
|
|
||||||
|
MIN_PYTHON_VERSION = ${settings.min_python_version} |
||||||
|
MAX_PYTHON_VERSION = ${settings.max_python_version} |
@ -0,0 +1,22 @@ |
|||||||
|
%YAML 1.2 |
||||||
|
--- | |
||||||
|
# Copyright 2024 gRPC authors. |
||||||
|
# |
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); |
||||||
|
# you may not use this file except in compliance with the License. |
||||||
|
# You may obtain a copy of the License at |
||||||
|
# |
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0 |
||||||
|
# |
||||||
|
# Unless required by applicable law or agreed to in writing, software |
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, |
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||||
|
# See the License for the specific language governing permissions and |
||||||
|
# limitations under the License. |
||||||
|
|
||||||
|
# AUTO-GENERATED FROM `$REPO_ROOT/templates/src/python/grpcio_admin/python_version.py.template`!!! |
||||||
|
|
||||||
|
SUPPORTED_PYTHON_VERSIONS = ${settings.supported_python_versions} |
||||||
|
|
||||||
|
MIN_PYTHON_VERSION = ${settings.min_python_version} |
||||||
|
MAX_PYTHON_VERSION = ${settings.max_python_version} |
@ -0,0 +1,22 @@ |
|||||||
|
%YAML 1.2 |
||||||
|
--- | |
||||||
|
# Copyright 2024 gRPC authors. |
||||||
|
# |
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); |
||||||
|
# you may not use this file except in compliance with the License. |
||||||
|
# You may obtain a copy of the License at |
||||||
|
# |
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0 |
||||||
|
# |
||||||
|
# Unless required by applicable law or agreed to in writing, software |
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, |
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||||
|
# See the License for the specific language governing permissions and |
||||||
|
# limitations under the License. |
||||||
|
|
||||||
|
# AUTO-GENERATED FROM `$REPO_ROOT/templates/src/python/grpcio_channelz/python_version.py.template`!!! |
||||||
|
|
||||||
|
SUPPORTED_PYTHON_VERSIONS = ${settings.supported_python_versions} |
||||||
|
|
||||||
|
MIN_PYTHON_VERSION = ${settings.min_python_version} |
||||||
|
MAX_PYTHON_VERSION = ${settings.max_python_version} |
@ -0,0 +1,22 @@ |
|||||||
|
%YAML 1.2 |
||||||
|
--- | |
||||||
|
# Copyright 2024 gRPC authors. |
||||||
|
# |
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); |
||||||
|
# you may not use this file except in compliance with the License. |
||||||
|
# You may obtain a copy of the License at |
||||||
|
# |
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0 |
||||||
|
# |
||||||
|
# Unless required by applicable law or agreed to in writing, software |
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, |
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||||
|
# See the License for the specific language governing permissions and |
||||||
|
# limitations under the License. |
||||||
|
|
||||||
|
# AUTO-GENERATED FROM `$REPO_ROOT/templates/src/python/grpcio_csds/python_version.py.template`!!! |
||||||
|
|
||||||
|
SUPPORTED_PYTHON_VERSIONS = ${settings.supported_python_versions} |
||||||
|
|
||||||
|
MIN_PYTHON_VERSION = ${settings.min_python_version} |
||||||
|
MAX_PYTHON_VERSION = ${settings.max_python_version} |
@ -0,0 +1,22 @@ |
|||||||
|
%YAML 1.2 |
||||||
|
--- | |
||||||
|
# Copyright 2024 gRPC authors. |
||||||
|
# |
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); |
||||||
|
# you may not use this file except in compliance with the License. |
||||||
|
# You may obtain a copy of the License at |
||||||
|
# |
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0 |
||||||
|
# |
||||||
|
# Unless required by applicable law or agreed to in writing, software |
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, |
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||||
|
# See the License for the specific language governing permissions and |
||||||
|
# limitations under the License. |
||||||
|
|
||||||
|
# AUTO-GENERATED FROM `$REPO_ROOT/templates/src/python/grpcio_csm_observability/python_version.py.template`!!! |
||||||
|
|
||||||
|
SUPPORTED_PYTHON_VERSIONS = ${settings.supported_python_versions} |
||||||
|
|
||||||
|
MIN_PYTHON_VERSION = ${settings.min_python_version} |
||||||
|
MAX_PYTHON_VERSION = ${settings.max_python_version} |
@ -0,0 +1,22 @@ |
|||||||
|
%YAML 1.2 |
||||||
|
--- | |
||||||
|
# Copyright 2024 gRPC authors. |
||||||
|
# |
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); |
||||||
|
# you may not use this file except in compliance with the License. |
||||||
|
# You may obtain a copy of the License at |
||||||
|
# |
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0 |
||||||
|
# |
||||||
|
# Unless required by applicable law or agreed to in writing, software |
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, |
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||||
|
# See the License for the specific language governing permissions and |
||||||
|
# limitations under the License. |
||||||
|
|
||||||
|
# AUTO-GENERATED FROM `$REPO_ROOT/templates/src/python/grpcio_health_checking/python_version.py.template`!!! |
||||||
|
|
||||||
|
SUPPORTED_PYTHON_VERSIONS = ${settings.supported_python_versions} |
||||||
|
|
||||||
|
MIN_PYTHON_VERSION = ${settings.min_python_version} |
||||||
|
MAX_PYTHON_VERSION = ${settings.max_python_version} |
@ -0,0 +1,22 @@ |
|||||||
|
%YAML 1.2 |
||||||
|
--- | |
||||||
|
# Copyright 2024 gRPC authors. |
||||||
|
# |
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); |
||||||
|
# you may not use this file except in compliance with the License. |
||||||
|
# You may obtain a copy of the License at |
||||||
|
# |
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0 |
||||||
|
# |
||||||
|
# Unless required by applicable law or agreed to in writing, software |
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, |
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||||
|
# See the License for the specific language governing permissions and |
||||||
|
# limitations under the License. |
||||||
|
|
||||||
|
# AUTO-GENERATED FROM `$REPO_ROOT/templates/src/python/grpcio_observability/python_version.py.template`!!! |
||||||
|
|
||||||
|
SUPPORTED_PYTHON_VERSIONS = ${settings.supported_python_versions} |
||||||
|
|
||||||
|
MIN_PYTHON_VERSION = ${settings.min_python_version} |
||||||
|
MAX_PYTHON_VERSION = ${settings.max_python_version} |
@ -0,0 +1,22 @@ |
|||||||
|
%YAML 1.2 |
||||||
|
--- | |
||||||
|
# Copyright 2024 gRPC authors. |
||||||
|
# |
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); |
||||||
|
# you may not use this file except in compliance with the License. |
||||||
|
# You may obtain a copy of the License at |
||||||
|
# |
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0 |
||||||
|
# |
||||||
|
# Unless required by applicable law or agreed to in writing, software |
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, |
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||||
|
# See the License for the specific language governing permissions and |
||||||
|
# limitations under the License. |
||||||
|
|
||||||
|
# AUTO-GENERATED FROM `$REPO_ROOT/templates/src/python/grpcio_reflection/python_version.py.template`!!! |
||||||
|
|
||||||
|
SUPPORTED_PYTHON_VERSIONS = ${settings.supported_python_versions} |
||||||
|
|
||||||
|
MIN_PYTHON_VERSION = ${settings.min_python_version} |
||||||
|
MAX_PYTHON_VERSION = ${settings.max_python_version} |
@ -0,0 +1,22 @@ |
|||||||
|
%YAML 1.2 |
||||||
|
--- | |
||||||
|
# Copyright 2024 gRPC authors. |
||||||
|
# |
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); |
||||||
|
# you may not use this file except in compliance with the License. |
||||||
|
# You may obtain a copy of the License at |
||||||
|
# |
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0 |
||||||
|
# |
||||||
|
# Unless required by applicable law or agreed to in writing, software |
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, |
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||||
|
# See the License for the specific language governing permissions and |
||||||
|
# limitations under the License. |
||||||
|
|
||||||
|
# AUTO-GENERATED FROM `$REPO_ROOT/templates/src/python/grpcio_status/python_version.py.template`!!! |
||||||
|
|
||||||
|
SUPPORTED_PYTHON_VERSIONS = ${settings.supported_python_versions} |
||||||
|
|
||||||
|
MIN_PYTHON_VERSION = ${settings.min_python_version} |
||||||
|
MAX_PYTHON_VERSION = ${settings.max_python_version} |
@ -0,0 +1,22 @@ |
|||||||
|
%YAML 1.2 |
||||||
|
--- | |
||||||
|
# Copyright 2024 gRPC authors. |
||||||
|
# |
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); |
||||||
|
# you may not use this file except in compliance with the License. |
||||||
|
# You may obtain a copy of the License at |
||||||
|
# |
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0 |
||||||
|
# |
||||||
|
# Unless required by applicable law or agreed to in writing, software |
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, |
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||||
|
# See the License for the specific language governing permissions and |
||||||
|
# limitations under the License. |
||||||
|
|
||||||
|
# AUTO-GENERATED FROM `$REPO_ROOT/templates/tools/distrib/python/grpcio_tools/grpc_tools/python_version.py.template`!!! |
||||||
|
|
||||||
|
SUPPORTED_PYTHON_VERSIONS = ${settings.supported_python_versions} |
||||||
|
|
||||||
|
MIN_PYTHON_VERSION = ${settings.min_python_version} |
||||||
|
MAX_PYTHON_VERSION = ${settings.max_python_version} |
@ -0,0 +1,22 @@ |
|||||||
|
%YAML 1.2 |
||||||
|
--- | |
||||||
|
# Copyright 2024 gRPC authors. |
||||||
|
# |
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); |
||||||
|
# you may not use this file except in compliance with the License. |
||||||
|
# You may obtain a copy of the License at |
||||||
|
# |
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0 |
||||||
|
# |
||||||
|
# Unless required by applicable law or agreed to in writing, software |
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, |
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||||
|
# See the License for the specific language governing permissions and |
||||||
|
# limitations under the License. |
||||||
|
|
||||||
|
# AUTO-GENERATED FROM `$REPO_ROOT/templates/tools/distrib/python/grpcio_tools/python_version.py.template`!!! |
||||||
|
|
||||||
|
SUPPORTED_PYTHON_VERSIONS = ${settings.supported_python_versions} |
||||||
|
|
||||||
|
MIN_PYTHON_VERSION = ${settings.min_python_version} |
||||||
|
MAX_PYTHON_VERSION = ${settings.max_python_version} |
@ -0,0 +1,22 @@ |
|||||||
|
%YAML 1.2 |
||||||
|
--- | |
||||||
|
# Copyright 2024 gRPC authors. |
||||||
|
# |
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); |
||||||
|
# you may not use this file except in compliance with the License. |
||||||
|
# You may obtain a copy of the License at |
||||||
|
# |
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0 |
||||||
|
# |
||||||
|
# Unless required by applicable law or agreed to in writing, software |
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, |
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||||
|
# See the License for the specific language governing permissions and |
||||||
|
# limitations under the License. |
||||||
|
|
||||||
|
# AUTO-GENERATED FROM `$REPO_ROOT/templates/tools/distrib/python/xds_protos/python_version.py.template`!!! |
||||||
|
|
||||||
|
SUPPORTED_PYTHON_VERSIONS = ${settings.supported_python_versions} |
||||||
|
|
||||||
|
MIN_PYTHON_VERSION = ${settings.min_python_version} |
||||||
|
MAX_PYTHON_VERSION = ${settings.max_python_version} |
@ -0,0 +1,14 @@ |
|||||||
|
#================= |
||||||
|
# Install ccache |
||||||
|
|
||||||
|
# Install ccache from source since ccache 3.x packaged with most linux distributions |
||||||
|
# does not support Redis backend for caching. |
||||||
|
RUN unset CMAKE_TOOLCHAIN_FILE && unset AS AR CC CPP CXX LD STRIP OBJCOPY ${'\\'} |
||||||
|
&& curl -sSL -o ccache.tar.gz https://github.com/ccache/ccache/releases/download/v4.7.5/ccache-4.7.5.tar.gz ${'\\'} |
||||||
|
&& tar -zxf ccache.tar.gz ${'\\'} |
||||||
|
&& cd ccache-4.7.5 ${'\\'} |
||||||
|
&& mkdir build && cd build ${'\\'} |
||||||
|
&& cmake -DCMAKE_BUILD_TYPE=Release -DZSTD_FROM_INTERNET=ON -DHIREDIS_FROM_INTERNET=ON .. ${'\\'} |
||||||
|
&& make -j4 && make install ${'\\'} |
||||||
|
&& cd ../.. ${'\\'} |
||||||
|
&& rm -rf ccache-4.7.5 ccache.tar.gz |
@ -0,0 +1,21 @@ |
|||||||
|
#================= |
||||||
|
# Compile CPython 3.13.0rc2 from source |
||||||
|
|
||||||
|
RUN apt-get update && apt-get install -y zlib1g-dev libssl-dev libsqlite3-dev && apt-get clean |
||||||
|
RUN apt-get update && apt-get install -y jq build-essential libffi-dev && apt-get clean |
||||||
|
|
||||||
|
RUN cd /tmp && ${'\\'} |
||||||
|
wget -q https://www.python.org/ftp/python/3.13.0/Python-3.13.0rc2.tgz && ${'\\'} |
||||||
|
tar xzvf Python-3.13.0rc2.tgz && ${'\\'} |
||||||
|
cd Python-3.13.0rc2 && ${'\\'} |
||||||
|
./configure && ${'\\'} |
||||||
|
make -j4 && ${'\\'} |
||||||
|
make install |
||||||
|
|
||||||
|
|
||||||
|
RUN cd /tmp && ${'\\'} |
||||||
|
echo "ad7f44153649e27ec385e7633e853e03 Python-3.13.0rc2.tgz" > checksum.md5 && ${'\\'} |
||||||
|
md5sum -c checksum.md5 |
||||||
|
|
||||||
|
RUN python3.13 -m ensurepip && ${'\\'} |
||||||
|
python3.13 -m pip install coverage |
@ -0,0 +1,22 @@ |
|||||||
|
# TODO: simplify the list of third_party modules list |
||||||
|
# NOTE: git>=2.46 allows leading paths like third_party/* to include all subdirectories |
||||||
|
# current docker base images use git versions lower than 2.46 and hence require separate configs for each submodule |
||||||
|
RUN git config --global --add safe.directory /var/local/jenkins/grpc |
||||||
|
RUN git config --global --add safe.directory /var/local/jenkins/grpc/.git |
||||||
|
RUN git config --global --add safe.directory /var/local/jenkins/grpc/.git/modules/third_party/bloaty |
||||||
|
RUN git config --global --add safe.directory /var/local/jenkins/grpc/.git/modules/third_party/xds |
||||||
|
RUN git config --global --add safe.directory /var/local/jenkins/grpc/.git/modules/third_party/googleapis |
||||||
|
RUN git config --global --add safe.directory /var/local/jenkins/grpc/.git/modules/third_party/googletest |
||||||
|
RUN git config --global --add safe.directory /var/local/jenkins/grpc/.git/modules/third_party/opentelemetry |
||||||
|
RUN git config --global --add safe.directory /var/local/jenkins/grpc/.git/modules/third_party/opencensus-proto |
||||||
|
RUN git config --global --add safe.directory /var/local/jenkins/grpc/.git/modules/third_party/boringssl-with-bazel |
||||||
|
RUN git config --global --add safe.directory /var/local/jenkins/grpc/.git/modules/third_party/envoy-api |
||||||
|
RUN git config --global --add safe.directory /var/local/jenkins/grpc/.git/modules/third_party/protobuf |
||||||
|
RUN git config --global --add safe.directory /var/local/jenkins/grpc/.git/modules/third_party/zlib |
||||||
|
RUN git config --global --add safe.directory /var/local/jenkins/grpc/.git/modules/third_party/benchmark |
||||||
|
RUN git config --global --add safe.directory /var/local/jenkins/grpc/.git/modules/third_party/re2 |
||||||
|
RUN git config --global --add safe.directory /var/local/jenkins/grpc/.git/modules/third_party/abseil-cpp |
||||||
|
RUN git config --global --add safe.directory /var/local/jenkins/grpc/.git/modules/third_party/opentelemetry-cpp |
||||||
|
RUN git config --global --add safe.directory /var/local/jenkins/grpc/.git/modules/third_party/protoc-gen-validate |
||||||
|
RUN git config --global --add safe.directory /var/local/jenkins/grpc/.git/modules/third_party/cares/cares |
||||||
|
RUN git config --global protocol.file.allow always |
@ -0,0 +1,57 @@ |
|||||||
|
%YAML 1.2 |
||||||
|
--- | |
||||||
|
# Copyright 2024 The gRPC Authors |
||||||
|
# |
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); |
||||||
|
# you may not use this file except in compliance with the License. |
||||||
|
# You may obtain a copy of the License at |
||||||
|
# |
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0 |
||||||
|
# |
||||||
|
# Unless required by applicable law or agreed to in writing, software |
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, |
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||||
|
# See the License for the specific language governing permissions and |
||||||
|
# limitations under the License. |
||||||
|
|
||||||
|
# The aarch64 wheels are being crosscompiled to allow running the build |
||||||
|
# on x64 machine. The dockcross/linux-armv7 image is a x86_64 |
||||||
|
# image with crosscompilation toolchain installed |
||||||
|
|
||||||
|
# AUTO-GENERATED FROM `$REPO_ROOT/templates/tools/dockerfile/grpc_artifact_python_linux_armv7/Dockerfile.template`!!! |
||||||
|
FROM dockcross/linux-armv7 |
||||||
|
|
||||||
|
<%text>RUN apt update && apt install -y build-essential zlib1g-dev libncurses5-dev libgdbm-dev \ |
||||||
|
libnss3-dev libssl-dev libreadline-dev libffi-dev && apt-get clean</%text> |
||||||
|
|
||||||
|
ADD install_python_for_wheel_crosscompilation.sh /scripts/install_python_for_wheel_crosscompilation.sh |
||||||
|
|
||||||
|
RUN /scripts/install_python_for_wheel_crosscompilation.sh "3.8.8" "3.8.8" /opt/python/cp38-cp38 |
||||||
|
RUN /scripts/install_python_for_wheel_crosscompilation.sh "3.9.2" "3.9.2" /opt/python/cp39-cp39 |
||||||
|
RUN /scripts/install_python_for_wheel_crosscompilation.sh "3.10.0" "3.10.0rc1" /opt/python/cp310-cp310 |
||||||
|
RUN /scripts/install_python_for_wheel_crosscompilation.sh "3.11.0" "3.11.0rc1" /opt/python/cp311-cp311 |
||||||
|
RUN /scripts/install_python_for_wheel_crosscompilation.sh "3.12.0" "3.12.0rc2" /opt/python/cp312-cp312 |
||||||
|
RUN /scripts/install_python_for_wheel_crosscompilation.sh "3.13.0" "3.13.0rc2" /opt/python/cp313-cp313 |
||||||
|
|
||||||
|
ENV AUDITWHEEL_ARCH armv7l |
||||||
|
ENV AUDITWHEEL_PLAT linux_armv7l |
||||||
|
|
||||||
|
<%include file="../ccache_crosscompile.include"/> |
||||||
|
|
||||||
|
# The dockcross base of this image sets CC and CXX to absolute paths, which makes it impossible to redirect their invocations |
||||||
|
# to ccache via a symlink. Use relative paths instead. |
||||||
|
<%text> |
||||||
|
ENV CC ${CROSS_TRIPLE}-gcc |
||||||
|
ENV CXX ${CROSS_TRIPLE}-g++ |
||||||
|
</%text> |
||||||
|
|
||||||
|
# For historical reasons, task_runner.py the script under docker container using "bash -l" |
||||||
|
# which loads /etc/profile on startup. dockcross/linux-armv7 is based on an image where |
||||||
|
# /etc/profile overwrites contents of PATH (for security reasons) when run as root. |
||||||
|
# That causes the crosscompiler binaries located under /usr/xcc/armv7-unknown-linux-gnueabi/bin |
||||||
|
# to be removed from PATH. Since in our builds we don't need the /etc/profile for anything, we can just |
||||||
|
# truncate it. |
||||||
|
# TODO(jtattermusch): Remove this hack when possible. |
||||||
|
RUN echo "# file contents removed to avoid resetting PATH set by the docker image" >/etc/profile |
||||||
|
|
||||||
|
<%include file="../git_config.include"/> |
@ -0,0 +1,28 @@ |
|||||||
|
%YAML 1.2 |
||||||
|
--- | |
||||||
|
# Copyright 2024 The gRPC Authors |
||||||
|
# |
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); |
||||||
|
# you may not use this file except in compliance with the License. |
||||||
|
# You may obtain a copy of the License at |
||||||
|
# |
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0 |
||||||
|
# |
||||||
|
# Unless required by applicable law or agreed to in writing, software |
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, |
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||||
|
# See the License for the specific language governing permissions and |
||||||
|
# limitations under the License. |
||||||
|
|
||||||
|
# AUTO-GENERATED FROM `$REPO_ROOT/templates/tools/dockerfile/grpc_artifact_python_manylinux2014_aarch64/Dockerfile.template`!!! |
||||||
|
|
||||||
|
FROM dockcross/manylinux2014-aarch64:20240812-60fa1b0 |
||||||
|
|
||||||
|
# manylinux_2_17 is the preferred alias of manylinux2014 |
||||||
|
ENV AUDITWHEEL_PLAT manylinux_2_17_$AUDITWHEEL_ARCH |
||||||
|
|
||||||
|
<%include file="../python_pip_builds.include"/> |
||||||
|
|
||||||
|
<%include file="../ccache_crosscompile.include"/> |
||||||
|
|
||||||
|
<%include file="../git_config.include"/> |
@ -0,0 +1,33 @@ |
|||||||
|
%YAML 1.2 |
||||||
|
--- | |
||||||
|
# Copyright 2024 The gRPC Authors |
||||||
|
# |
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); |
||||||
|
# you may not use this file except in compliance with the License. |
||||||
|
# You may obtain a copy of the License at |
||||||
|
# |
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0 |
||||||
|
# |
||||||
|
# Unless required by applicable law or agreed to in writing, software |
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, |
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||||
|
# See the License for the specific language governing permissions and |
||||||
|
# limitations under the License. |
||||||
|
|
||||||
|
# Docker file for building gRPC manylinux Python artifacts. |
||||||
|
|
||||||
|
# AUTO-GENERATED FROM `$REPO_ROOT/templates/tools/dockerfile/grpc_artifact_python_manylinux2014_x64/Dockerfile.template`!!! |
||||||
|
|
||||||
|
FROM quay.io/pypa/manylinux2014_x86_64:2024-09-09-f386546 |
||||||
|
|
||||||
|
# manylinux_2_17 is the preferred alias of manylinux2014 |
||||||
|
ENV AUDITWHEEL_PLAT manylinux_2_17_$AUDITWHEEL_ARCH |
||||||
|
|
||||||
|
# TODO(jtattermusch): revisit which of the deps are really required |
||||||
|
RUN yum update -y && yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel |
||||||
|
|
||||||
|
<%include file="../python_pip_builds.include"/> |
||||||
|
|
||||||
|
<%include file="../ccache.include"/> |
||||||
|
|
||||||
|
<%include file="../git_config.include"/> |
@ -0,0 +1,34 @@ |
|||||||
|
%YAML 1.2 |
||||||
|
--- | |
||||||
|
# Copyright 2024 The gRPC Authors |
||||||
|
# |
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); |
||||||
|
# you may not use this file except in compliance with the License. |
||||||
|
# You may obtain a copy of the License at |
||||||
|
# |
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0 |
||||||
|
# |
||||||
|
# Unless required by applicable law or agreed to in writing, software |
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, |
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||||
|
# See the License for the specific language governing permissions and |
||||||
|
# limitations under the License. |
||||||
|
|
||||||
|
# Docker file for building gRPC manylinux Python artifacts. |
||||||
|
|
||||||
|
# AUTO-GENERATED FROM `$REPO_ROOT/templates/tools/dockerfile/grpc_artifact_python_manylinux2014_x86/Dockerfile.template`!!! |
||||||
|
|
||||||
|
FROM quay.io/pypa/manylinux2014_i686:2024-09-09-f386546 |
||||||
|
|
||||||
|
# manylinux_2_17 is the preferred alias of manylinux2014 |
||||||
|
ENV AUDITWHEEL_PLAT manylinux_2_17_$AUDITWHEEL_ARCH |
||||||
|
|
||||||
|
# TODO(jtattermusch): revisit which of the deps are really required |
||||||
|
RUN yum update -y && yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel |
||||||
|
|
||||||
|
<%include file="../python_pip_builds.include"/> |
||||||
|
|
||||||
|
<%include file="../ccache.include"/> |
||||||
|
|
||||||
|
|
||||||
|
<%include file="../git_config.include"/> |
@ -0,0 +1,27 @@ |
|||||||
|
%YAML 1.2 |
||||||
|
--- | |
||||||
|
# Copyright 2024 The gRPC Authors |
||||||
|
# |
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); |
||||||
|
# you may not use this file except in compliance with the License. |
||||||
|
# You may obtain a copy of the License at |
||||||
|
# |
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0 |
||||||
|
# |
||||||
|
# Unless required by applicable law or agreed to in writing, software |
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, |
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||||
|
# See the License for the specific language governing permissions and |
||||||
|
# limitations under the License. |
||||||
|
|
||||||
|
# AUTO-GENERATED FROM `$REPO_ROOT/templates/tools/dockerfile/grpc_artifact_python_musllinux_1_1_x64/Dockerfile.template`!!! |
||||||
|
|
||||||
|
FROM quay.io/pypa/musllinux_1_1_x86_64:2024-09-09-f386546 |
||||||
|
|
||||||
|
<%include file="../python_pip_builds.include"/> |
||||||
|
|
||||||
|
<%include file="../ccache.include"/> |
||||||
|
|
||||||
|
<%include file="../git_config.include"/> |
||||||
|
|
||||||
|
RUN apk add openssl openssl-dev |
@ -0,0 +1,25 @@ |
|||||||
|
%YAML 1.2 |
||||||
|
--- | |
||||||
|
# Copyright 2024 The gRPC Authors |
||||||
|
# |
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); |
||||||
|
# you may not use this file except in compliance with the License. |
||||||
|
# You may obtain a copy of the License at |
||||||
|
# |
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0 |
||||||
|
# |
||||||
|
# Unless required by applicable law or agreed to in writing, software |
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, |
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||||
|
# See the License for the specific language governing permissions and |
||||||
|
# limitations under the License. |
||||||
|
|
||||||
|
# AUTO-GENERATED FROM `$REPO_ROOT/templates/tools/dockerfile/grpc_artifact_python_musllinux_1_1_x86/Dockerfile.template`!!! |
||||||
|
|
||||||
|
FROM quay.io/pypa/musllinux_1_1_i686:2024-09-09-f386546 |
||||||
|
|
||||||
|
<%include file="../python_pip_builds.include"/> |
||||||
|
|
||||||
|
<%include file="../ccache.include"/> |
||||||
|
|
||||||
|
<%include file="../git_config.include"/> |
@ -0,0 +1,8 @@ |
|||||||
|
#=================================== |
||||||
|
# Install Python build requirements |
||||||
|
RUN /opt/python/cp38-cp38/bin/pip install --upgrade 'cython<4.0.0rc1' |
||||||
|
RUN /opt/python/cp39-cp39/bin/pip install --upgrade 'cython<4.0.0rc1' |
||||||
|
RUN /opt/python/cp310-cp310/bin/pip install --upgrade 'cython<4.0.0rc1' |
||||||
|
RUN /opt/python/cp311-cp311/bin/pip install --upgrade 'cython<4.0.0rc1' |
||||||
|
RUN /opt/python/cp312-cp312/bin/pip install --upgrade 'cython<4.0.0rc1' |
||||||
|
RUN /opt/python/cp313-cp313/bin/pip install --upgrade 'cython<4.0.0rc1' |
@ -0,0 +1,33 @@ |
|||||||
|
# Copyright 2024 gRPC authors. |
||||||
|
# |
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); |
||||||
|
# you may not use this file except in compliance with the License. |
||||||
|
# You may obtain a copy of the License at |
||||||
|
# |
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0 |
||||||
|
# |
||||||
|
# Unless required by applicable law or agreed to in writing, software |
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, |
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||||
|
# See the License for the specific language governing permissions and |
||||||
|
# limitations under the License. |
||||||
|
"""Buildgen python version plugin |
||||||
|
|
||||||
|
This parses the list of supported python versions from the yaml build file, and |
||||||
|
creates custom strings for the minimum and maximum supported python versions. |
||||||
|
|
||||||
|
""" |
||||||
|
|
||||||
|
|
||||||
|
def mako_plugin(dictionary): |
||||||
|
"""Expand version numbers: |
||||||
|
- for each language, ensure there's a language_version tag in |
||||||
|
settings (defaulting to the master version tag) |
||||||
|
- expand version strings to major, minor, patch, and tag |
||||||
|
""" |
||||||
|
|
||||||
|
settings = dictionary["settings"] |
||||||
|
|
||||||
|
supported_python_versions = settings["supported_python_versions"] |
||||||
|
settings["min_python_version"] = supported_python_versions[0] |
||||||
|
settings["max_python_version"] = supported_python_versions[-1] |
@ -1,10 +1,12 @@ |
|||||||
include _parallel_compile_patch.py |
include _parallel_compile_patch.py |
||||||
include _spawn_patch.py |
include _spawn_patch.py |
||||||
include grpc_version.py |
include grpc_version.py |
||||||
|
include python_version.py |
||||||
include protoc_deps.py |
include protoc_deps.py |
||||||
include protoc_lib_deps.py |
include protoc_lib_deps.py |
||||||
include README.rst |
include README.rst |
||||||
include grpc_tools/grpc_version.py |
include grpc_tools/grpc_version.py |
||||||
|
include grpc_tools/python_version.py |
||||||
graft grpc_tools |
graft grpc_tools |
||||||
graft grpc_root |
graft grpc_root |
||||||
graft third_party |
graft third_party |
||||||
|
@ -0,0 +1,20 @@ |
|||||||
|
# Copyright 2024 gRPC authors. |
||||||
|
# |
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); |
||||||
|
# you may not use this file except in compliance with the License. |
||||||
|
# You may obtain a copy of the License at |
||||||
|
# |
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0 |
||||||
|
# |
||||||
|
# Unless required by applicable law or agreed to in writing, software |
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, |
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||||
|
# See the License for the specific language governing permissions and |
||||||
|
# limitations under the License. |
||||||
|
|
||||||
|
# AUTO-GENERATED FROM `$REPO_ROOT/templates/tools/distrib/python/grpcio_tools/grpc_tools/python_version.py.template`!!! |
||||||
|
|
||||||
|
SUPPORTED_PYTHON_VERSIONS = ['3.8', '3.9', '3.10', '3.11', '3.12', '3.13'] |
||||||
|
|
||||||
|
MIN_PYTHON_VERSION = 3.8 |
||||||
|
MAX_PYTHON_VERSION = 3.13 |
@ -0,0 +1,20 @@ |
|||||||
|
# Copyright 2024 gRPC authors. |
||||||
|
# |
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); |
||||||
|
# you may not use this file except in compliance with the License. |
||||||
|
# You may obtain a copy of the License at |
||||||
|
# |
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0 |
||||||
|
# |
||||||
|
# Unless required by applicable law or agreed to in writing, software |
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, |
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||||
|
# See the License for the specific language governing permissions and |
||||||
|
# limitations under the License. |
||||||
|
|
||||||
|
# AUTO-GENERATED FROM `$REPO_ROOT/templates/tools/distrib/python/grpcio_tools/python_version.py.template`!!! |
||||||
|
|
||||||
|
SUPPORTED_PYTHON_VERSIONS = ['3.8', '3.9', '3.10', '3.11', '3.12', '3.13'] |
||||||
|
|
||||||
|
MIN_PYTHON_VERSION = 3.8 |
||||||
|
MAX_PYTHON_VERSION = 3.13 |
@ -1 +1,2 @@ |
|||||||
include grpc_version.py |
include grpc_version.py |
||||||
|
include python_version.py |
@ -0,0 +1,20 @@ |
|||||||
|
# Copyright 2024 gRPC authors. |
||||||
|
# |
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); |
||||||
|
# you may not use this file except in compliance with the License. |
||||||
|
# You may obtain a copy of the License at |
||||||
|
# |
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0 |
||||||
|
# |
||||||
|
# Unless required by applicable law or agreed to in writing, software |
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, |
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||||
|
# See the License for the specific language governing permissions and |
||||||
|
# limitations under the License. |
||||||
|
|
||||||
|
# AUTO-GENERATED FROM `$REPO_ROOT/templates/tools/distrib/python/xds_protos/python_version.py.template`!!! |
||||||
|
|
||||||
|
SUPPORTED_PYTHON_VERSIONS = ['3.8', '3.9', '3.10', '3.11', '3.12', '3.13'] |
||||||
|
|
||||||
|
MIN_PYTHON_VERSION = 3.8 |
||||||
|
MAX_PYTHON_VERSION = 3.13 |
@ -1 +1 @@ |
|||||||
us-docker.pkg.dev/grpc-testing/testing-images-public/grpc_artifact_python_linux_armv7:0b87638ab97b433c6818be5124dcd89d479b3a8b@sha256:f109d6c22cadb053f6843a66ee827d74f34d6cbf75a32f455a9da099ed1bdc9c |
us-docker.pkg.dev/grpc-testing/testing-images-public/grpc_artifact_python_linux_armv7:3523bf4a67fa9100deb8f48ee4833cb5a5e97697@sha256:137616275fe59bf89849f7503779f9a5d9668dbf395fcc79a8221a8c38fa5bac |
@ -1 +1 @@ |
|||||||
us-docker.pkg.dev/grpc-testing/testing-images-public/grpc_artifact_python_manylinux2014_aarch64:cfc9fe0cb36bb4ec8425982fd7f07e4e14bf3941@sha256:3f0407d4db904b35a7665c2222db039994cd0c9bdb1a073a653ff8e6940081c9 |
us-docker.pkg.dev/grpc-testing/testing-images-public/grpc_artifact_python_manylinux2014_aarch64:377f694f92dd1b56dff0b0a0f47d6e731200953c@sha256:ad3233be3c3ad9e0c4b60f0176a853713a35e5c84ec9d9703996c67fa3e811b6 |
@ -1 +1 @@ |
|||||||
us-docker.pkg.dev/grpc-testing/testing-images-public/grpc_artifact_python_manylinux2014_x64:e81af0c6d454929785e8126fc993cbd93da5c014@sha256:89329900ec7fedc57cd89690acd34d07d726f6b896f60df987867737d0a0f5a8 |
us-docker.pkg.dev/grpc-testing/testing-images-public/grpc_artifact_python_manylinux2014_x64:379c3240e9fd68b7c13a3b6cb24307a272558494@sha256:0e102df67f31aeb6afe68250603288c2f1c98ccf360d1c42d751b8451da94b48 |
@ -1 +1 @@ |
|||||||
us-docker.pkg.dev/grpc-testing/testing-images-public/grpc_artifact_python_manylinux2014_x86:fda00560d600eed356f8d6bef2cc8416d0a6b790@sha256:8fce8e094b00935dc1f2640b4c2b10216c5a8711c0f4444efbafcd8c355a75a8 |
us-docker.pkg.dev/grpc-testing/testing-images-public/grpc_artifact_python_manylinux2014_x86:28eec3c9e027fd42f5852f696ed3e47aec91229b@sha256:527e2e9ec4db0c52a53b50abfd59907a1b7e221168dc401686f6a48d33bddc5c |
@ -1 +1 @@ |
|||||||
us-docker.pkg.dev/grpc-testing/testing-images-public/grpc_artifact_python_musllinux_1_1_x64:2f56fcee2e4964359dddcd57bb9b066ceb8331ec@sha256:c8e8eb24942a2910197cf5481d61e7cbce68b57bd6f35fae878b043b1f2c38bb |
us-docker.pkg.dev/grpc-testing/testing-images-public/grpc_artifact_python_musllinux_1_1_x64:1bc8405880fdad2b22f8a6422cd6198b0b54838a@sha256:94b57e5ea31ebc29af734474bcaff3074770778e5d27557cdc06d755ee8bc7ed |
@ -1 +1 @@ |
|||||||
us-docker.pkg.dev/grpc-testing/testing-images-public/grpc_artifact_python_musllinux_1_1_x86:9308dccacd76fb1782a43d97e6f5062b5b58576d@sha256:c288f83435186ee675d004ee52c93195a51201bf2b5fe92581584d977a2499a3 |
us-docker.pkg.dev/grpc-testing/testing-images-public/grpc_artifact_python_musllinux_1_1_x86:358044420e0991fe284f49848145d5145cff42ac@sha256:edf4a0c8333c9309e52f323aa7315bbc0e5643216613cab4ecd2bce3d1ec26c0 |
@ -1 +1 @@ |
|||||||
us-docker.pkg.dev/grpc-testing/testing-images-public/python_debian11_default_x64:05951fbd0e77e8ba072d270ad08f0d4b6ac00841@sha256:4c539fc93d343324309939c2964204c90f4054cd9eeed093af315cb0f0ef7c26 |
us-docker.pkg.dev/grpc-testing/testing-images-public/python_debian11_default_x64:224d8dc6c8287ee247378888ac93b9fe9e36ec8c@sha256:8beca964d6bbb80a8cb4c4628c25e9702b007c97113e74e589fa50c15000738d |
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue