Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
3cab57d
added templated python versions for setup.py
sreenithi Sep 3, 2024
6741a3c
added linux build dockerfile templates
sreenithi Sep 5, 2024
7dc1257
updated setup.py versioning templates and files addressing comments
sreenithi Sep 12, 2024
b0697d6
updated dockerfile templates and files addressing comments
sreenithi Sep 12, 2024
e9103f6
updated compile_python_313 to use release candidate 2
sreenithi Sep 12, 2024
cf7f5f6
updated install scripts and artifacts for windows, macos and linux
sreenithi Sep 12, 2024
f4fdb1c
removed "Supported Python Versions" from READMEs of ancillary and mai…
sreenithi Sep 12, 2024
035b717
Merge branch 'master' into support_3.13
sreenithi Sep 12, 2024
5c306dc
fixed typo for windows build
sreenithi Sep 12, 2024
ceb77bf
added missing macos and windows artifact targets
sreenithi Sep 12, 2024
7c81c22
updated additional files for linux builds
sreenithi Sep 12, 2024
81d9d4f
added fix for macos and windows build
sreenithi Sep 12, 2024
6b098b0
fix typo with macos build
sreenithi Sep 12, 2024
5053588
fix isort import order failure
sreenithi Sep 13, 2024
42f1cb8
update cython bounds to 3.x
sreenithi Sep 13, 2024
b39d95f
updated twine version to solve https://github.com/pypa/twine/issues/1046
sreenithi Sep 14, 2024
fa6f960
update dockerfile image tags
sreenithi Sep 14, 2024
06baf5f
updated dockerfile hashes
sreenithi Sep 14, 2024
4de4eec
added fix for manylinux2014_aarch64 docker image
sreenithi Sep 16, 2024
0104798
added possible fix for build_artifact errors
sreenithi Sep 16, 2024
ecdc869
updated dockerfile hashes
sreenithi Sep 17, 2024
c28bc8a
added fix for manylinux2014_aarch64 docker image
sreenithi Sep 17, 2024
eb978cb
added possible fix for build_artifact errors
sreenithi Sep 16, 2024
cda7395
Merge branch support_3.13 from remote to local
sreenithi Sep 17, 2024
fc57075
added fix for sanity test generate_projects mismatch error
sreenithi Sep 17, 2024
8b19159
removed mistakenly added file from pr
sreenithi Sep 17, 2024
3ecaf21
Merge branch 'grpc:master' into support_3.13
sreenithi Sep 17, 2024
165aa26
added fix for linux distribtests failure
sreenithi Sep 18, 2024
85e8b93
added python_version.py in MANIFEST files
sreenithi Sep 17, 2024
7e1cc88
fixed git_config.include
sreenithi Sep 19, 2024
4094019
added rust installation to linux docker images
sreenithi Sep 19, 2024
37d5013
added twine check skip for x86 linux artifacts
sreenithi Sep 24, 2024
6463332
fixed black code sanity
sreenithi Sep 24, 2024
92df104
Merge branch 'master' into support_3.13
sreenithi Sep 25, 2024
e45d699
cleanup docker files
sreenithi Sep 25, 2024
c804fc2
updated teferences to python 3.7 in bazel WORKSPACE files
sreenithi Sep 25, 2024
932ed12
addressed review comments
sreenithi Sep 25, 2024
f223cd4
Merge branch 'master' into support_3.13
sreenithi Sep 25, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions PYTHON-MANIFEST.in
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ include src/python/grpcio/_parallel_compile_patch.py
include src/python/grpcio/_spawn_patch.py
include src/python/grpcio/commands.py
include src/python/grpcio/grpc_version.py
include src/python/grpcio/python_version.py
include src/python/grpcio/grpc_core_dependencies.py
include src/python/grpcio/precompiled.py
include src/python/grpcio/support.py
Expand Down
2 changes: 1 addition & 1 deletion WORKSPACE
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ load("@com_google_protobuf//bazel:system_python.bzl", "system_python")

system_python(
name = "system_python",
minimum_python_version = "3.7",
minimum_python_version = "3.8",
)

load("@system_python//:pip.bzl", system_pip_parse = "pip_parse")
Expand Down
6 changes: 3 additions & 3 deletions bazel/grpc_python_deps.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,9 @@ def grpc_python_deps():
http_archive(
name = "cython",
build_file = "@com_github_grpc_grpc//third_party:cython.BUILD",
sha256 = "a2da56cc22be823acf49741b9aa3aa116d4f07fa8e8b35a3cb08b8447b37c607",
strip_prefix = "cython-0.29.35",
sha256 = "2ec7d66d23d6da2328fb24f5c1bec6c63a59ec2e91027766ab904f417e1078aa",
strip_prefix = "cython-3.0.11",
urls = [
"https://github.com/cython/cython/archive/0.29.35.tar.gz",
"https://github.com/cython/cython/archive/3.0.11.tar.gz",
],
)
1 change: 1 addition & 0 deletions black.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ extend-exclude = '''
| test/cpp/naming/resolver_component_tests_runner.py # AUTO-GENERATED
# AUTO-GENERATED from a template:
| grpc_version.py
| python_version.py
| src/python/grpcio/grpc_core_dependencies.py
| src/python/grpcio/grpc/_grpcio_metadata.py
# AUTO-GENERATED BY make_grpcio_tools.py
Expand Down
7 changes: 7 additions & 0 deletions build_handwritten.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,13 @@ settings:
csharp_major_version: 2
g_stands_for: groovy
protobuf_version: 3.28.1
supported_python_versions:
- '3.8'
- '3.9'
- '3.10'
- '3.11'
- '3.12'
- '3.13'
version: 1.68.0-dev
configs:
asan:
Expand Down
27 changes: 15 additions & 12 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -88,26 +88,29 @@
import _parallel_compile_patch
import _spawn_patch
import grpc_core_dependencies
import python_version

import commands
import grpc_version

_parallel_compile_patch.monkeypatch_compile_maybe()
_spawn_patch.monkeypatch_spawn()


LICENSE = "Apache License 2.0"

CLASSIFIERS = [
"Development Status :: 5 - Production/Stable",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"License :: OSI Approved :: Apache Software License",
]
CLASSIFIERS = (
[
"Development Status :: 5 - Production/Stable",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
]
+ [
f"Programming Language :: Python :: {x}"
for x in python_version.SUPPORTED_PYTHON_VERSIONS
]
+ ["License :: OSI Approved :: Apache Software License"]
)


def _env_bool_value(env_name, default):
Expand Down Expand Up @@ -596,7 +599,7 @@ def cython_extensions_and_necessity():
packages=list(PACKAGES),
package_dir=PACKAGE_DIRECTORIES,
package_data=PACKAGE_DATA,
python_requires=">=3.8",
python_requires=f">={python_version.MIN_PYTHON_VERSION}",
install_requires=INSTALL_REQUIRES,
extras_require=EXTRAS_REQUIRES,
setup_requires=SETUP_REQUIRES,
Expand Down
3 changes: 0 additions & 3 deletions src/python/grpcio/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,6 @@ Package for gRPC Python.
.. |compat_check_pypi| image:: https://python-compatibility-tools.appspot.com/one_badge_image?package=grpcio
:target: https://python-compatibility-tools.appspot.com/one_badge_target?package=grpcio

Supported Python Versions
-------------------------
Python >= 3.8

Installation
------------
Expand Down
20 changes: 20 additions & 0 deletions src/python/grpcio/python_version.py
Original file line number Diff line number Diff line change
@@ -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 change: 1 addition & 0 deletions src/python/grpcio_admin/MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
include grpc_version.py
include python_version.py
recursive-include grpc_admin *.py
global-exclude *.pyc
include LICENSE
20 changes: 20 additions & 0 deletions src/python/grpcio_admin/python_version.py
Original file line number Diff line number Diff line change
@@ -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
5 changes: 4 additions & 1 deletion src/python/grpcio_admin/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@
os.chdir(os.path.dirname(os.path.abspath(__file__)))

# Break import-style to ensure we can actually find our local modules.
import python_version

import grpc_version

CLASSIFIERS = [
Expand All @@ -44,6 +46,7 @@
)
SETUP_REQUIRES = INSTALL_REQUIRES


setuptools.setup(
name="grpcio-admin",
version=grpc_version.VERSION,
Expand All @@ -56,7 +59,7 @@
url="https://grpc.io",
package_dir=PACKAGE_DIRECTORIES,
packages=setuptools.find_packages("."),
python_requires=">=3.8",
python_requires=f">={python_version.MIN_PYTHON_VERSION}",
install_requires=INSTALL_REQUIRES,
setup_requires=SETUP_REQUIRES,
)
1 change: 1 addition & 0 deletions src/python/grpcio_channelz/MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
include grpc_version.py
include python_version.py
recursive-include grpc_channelz *.py *.pyi
global-exclude *.pyc
include LICENSE
3 changes: 0 additions & 3 deletions src/python/grpcio_channelz/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,6 @@ gRPC Python Channelz package

Channelz is a live debug tool in gRPC Python.

Supported Python Versions
-------------------------
Python >= 3.8

Dependencies
------------
Expand Down
2 changes: 1 addition & 1 deletion src/python/grpcio_channelz/grpc_version.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.

# AUTO-GENERATED FROM `$REPO_ROOT/templates/src/python/grpcio_channelz/grpc_version.py.template`!!!
# AUTO-GENERATED FROM `$REPO_ROOT/templates/src/python/grpcio_channelz/python_version.py.template`!!!

VERSION = '1.68.0.dev0'
20 changes: 20 additions & 0 deletions src/python/grpcio_channelz/python_version.py
Original file line number Diff line number Diff line change
@@ -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
29 changes: 17 additions & 12 deletions src/python/grpcio_channelz/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@
os.chdir(os.path.dirname(os.path.abspath(__file__)))

# Break import-style to ensure we can actually find our local modules.
import python_version

import grpc_version


Expand All @@ -44,17 +46,19 @@ def run(self):
pass


CLASSIFIERS = [
"Development Status :: 5 - Production/Stable",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"License :: OSI Approved :: Apache Software License",
]
CLASSIFIERS = (
[
"Development Status :: 5 - Production/Stable",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
]
+ [
f"Programming Language :: Python :: {x}"
for x in python_version.SUPPORTED_PYTHON_VERSIONS
]
+ ["License :: OSI Approved :: Apache Software License"]
)


PACKAGE_DIRECTORIES = {
"": ".",
Expand Down Expand Up @@ -85,6 +89,7 @@ def run(self):
"build_package_protos": _NoOpCommand,
}


setuptools.setup(
name="grpcio-channelz",
version=grpc_version.VERSION,
Expand All @@ -97,7 +102,7 @@ def run(self):
url="https://grpc.io",
package_dir=PACKAGE_DIRECTORIES,
packages=setuptools.find_packages("."),
python_requires=">=3.8",
python_requires=f">={python_version.MIN_PYTHON_VERSION}",
install_requires=INSTALL_REQUIRES,
setup_requires=SETUP_REQUIRES,
cmdclass=COMMAND_CLASS,
Expand Down
1 change: 1 addition & 0 deletions src/python/grpcio_csds/MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
include grpc_version.py
include python_version.py
recursive-include grpc_csds *.py
global-exclude *.pyc
include LICENSE
20 changes: 20 additions & 0 deletions src/python/grpcio_csds/python_version.py
Original file line number Diff line number Diff line change
@@ -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
4 changes: 3 additions & 1 deletion src/python/grpcio_csds/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@
os.chdir(os.path.dirname(os.path.abspath(__file__)))

# Break import-style to ensure we can actually find our local modules.
import python_version

import grpc_version

CLASSIFIERS = [
Expand Down Expand Up @@ -57,7 +59,7 @@
url="https://grpc.io",
package_dir=PACKAGE_DIRECTORIES,
packages=setuptools.find_packages("."),
python_requires=">=3.8",
python_requires=f">={python_version.MIN_PYTHON_VERSION}",
install_requires=INSTALL_REQUIRES,
setup_requires=SETUP_REQUIRES,
)
1 change: 1 addition & 0 deletions src/python/grpcio_csm_observability/MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
graft src/python/grpcio_csm_observability/grpc_csm_observability.egg-info
graft grpc_csm_observability
include grpc_version.py
include python_version.py
include README.rst
3 changes: 0 additions & 3 deletions src/python/grpcio_csm_observability/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,6 @@ gRPC Python CSM Observability

Package for gRPC Python CSM Observability.

Supported Python Versions
-------------------------
Python >= 3.8

Installation
------------
Expand Down
20 changes: 20 additions & 0 deletions src/python/grpcio_csm_observability/python_version.py
Original file line number Diff line number Diff line change
@@ -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
4 changes: 3 additions & 1 deletion src/python/grpcio_csm_observability/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@
# Ensure we're in the proper directory whether or not we're being used by pip.
os.chdir(os.path.dirname(os.path.abspath(__file__)))

import python_version

import grpc_version

CLASSIFIERS = [
Expand Down Expand Up @@ -58,6 +60,6 @@
classifiers=CLASSIFIERS,
package_dir=PACKAGE_DIRECTORIES,
packages=setuptools.find_packages("."),
python_requires=">=3.8",
python_requires=f">={python_version.MIN_PYTHON_VERSION}",
install_requires=INSTALL_REQUIRES,
)
1 change: 1 addition & 0 deletions src/python/grpcio_health_checking/MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
include grpc_version.py
include python_version.py
recursive-include grpc_health *.py *.pyi
global-exclude *.pyc
include LICENSE
Loading