gRPC Python Tools
=================
Package for gRPC Python tools.
Supported Python Versions
-------------------------
Python >= 3.6
Installation
------------
The gRPC Python tools package is available for Linux, Mac OS X, and Windows.
Installing From PyPI
~~~~~~~~~~~~~~~~~~~~
If you are installing locally...
::
$ pip install grpcio-tools
Else system wide (on Ubuntu)...
::
$ sudo pip install grpcio-tools
If you're on Windows make sure that you installed the :code:`pip.exe` component
when you installed Python (if not go back and install it!) then invoke:
::
$ pip.exe install grpcio-tools
Windows users may need to invoke :code:`pip.exe` from a command line ran as
administrator.
n.b. On Windows and on Mac OS X one *must* have a recent release of :code:`pip`
to retrieve the proper wheel from PyPI. Be sure to upgrade to the latest
version!
You might also need to install Cython to handle installation via the source
distribution if gRPC Python's system coverage with wheels does not happen to
include your system.
Installing From Source
~~~~~~~~~~~~~~~~~~~~~~
Building from source requires that you have the Python headers (usually a
package named :code:`python-dev`) and Cython installed. It further requires a
GCC-like compiler to go smoothly; you can probably get it to work without
GCC-like stuff, but you may end up having a bad time.
::
$ export REPO_ROOT=grpc # REPO_ROOT can be any directory of your choice
$ git clone -b RELEASE_TAG_HERE https://github.com/grpc/grpc $REPO_ROOT
$ cd $REPO_ROOT
$ git submodule update --init
$ cd tools/distrib/python/grpcio_tools
$ python ../make_grpcio_tools.py
# For the next command do `sudo pip install` if you get permission-denied errors
$ GRPC_PYTHON_BUILD_WITH_CYTHON=1 pip install .
You cannot currently install Python from source on Windows. Things might work
out for you in MSYS2 (follow the Linux instructions), but it isn't officially
supported at the moment.
Troubleshooting
~~~~~~~~~~~~~~~
Help, I ...
* **... see compiler errors on some platforms when either installing from source or from the source distribution**
If you see
::
/tmp/pip-build-U8pSsr/cython/Cython/Plex/Scanners.c:4:20: fatal error: Python.h: No such file or directory
#include "Python.h"
^
compilation terminated.
You can fix it by installing `python-dev` package. i.e
::
sudo apt-get install python-dev
If you see something similar to:
::
third_party/protobuf/src/google/protobuf/stubs/mathlimits.h:173:31: note: in expansion of macro 'SIGNED_INT_MAX'
static const Type kPosMax = SIGNED_INT_MAX(Type); \\
^
And your toolchain is GCC (at the time of this writing, up through at least
GCC 6.0), this is probably a bug where GCC chokes on constant expressions
when the :code:`-fwrapv` flag is specified. You should consider setting your
environment with :code:`CFLAGS=-fno-wrapv` or using clang (:code:`CC=clang`).
Usage
-----
Given protobuf include directories :code:`$INCLUDE`, an output directory
:code:`$OUTPUT`, and proto files :code:`$PROTO_FILES`, invoke as:
::
$ python -m grpc_tools.protoc -I$INCLUDE --python_out=$OUTPUT --grpc_python_out=$OUTPUT $PROTO_FILES
To use as a build step in setuptools-based projects, you may use the provided
command class in your :code:`setup.py`:
::
setuptools.setup(
# ...
cmdclass={
'build_proto_modules': grpc_tools.command.BuildPackageProtos,
}
# ...
)
Invocation of the command will walk the project tree and transpile every
:code:`.proto` file into a :code:`_pb2.py` file in the same directory.
Note that this particular approach requires :code:`grpcio-tools` to be
installed on the machine before the setup script is invoked (i.e. no
combination of :code:`setup_requires` or :code:`install_requires` will provide
access to :code:`grpc_tools.command.BuildPackageProtos` if it isn't already
installed). One way to work around this can be found in our
:code:`grpcio-health-checking`
`package <https://pypi.python.org/pypi/grpcio-health-checking>`_:
::
class BuildPackageProtos(setuptools.Command):
"""Command to generate project *_pb2.py modules from proto files."""
# ...
def run(self):
from grpc_tools import command
command.build_package_protos(self.distribution.package_dir[''])
Now including :code:`grpcio-tools` in :code:`setup_requires` will provide the
command on-setup as desired.
For more information on command classes, consult :code:`setuptools` documentation.
Raw data
{
"_id": null,
"home_page": "https://grpc.io",
"name": "grpcio-tools",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": null,
"author": "The gRPC Authors",
"author_email": "grpc-io@googlegroups.com",
"download_url": "https://files.pythonhosted.org/packages/c1/fe/3adf1035c1f9e9243516530beae67e197f2acc17562ec75f03a0ba77fc55/grpcio_tools-1.70.0.tar.gz",
"platform": null,
"description": "gRPC Python Tools\n=================\n\nPackage for gRPC Python tools.\n\nSupported Python Versions\n-------------------------\nPython >= 3.6\n\nInstallation\n------------\n\nThe gRPC Python tools package is available for Linux, Mac OS X, and Windows.\n\nInstalling From PyPI\n~~~~~~~~~~~~~~~~~~~~\n\nIf you are installing locally...\n\n::\n\n $ pip install grpcio-tools\n\nElse system wide (on Ubuntu)...\n\n::\n\n $ sudo pip install grpcio-tools\n\nIf you're on Windows make sure that you installed the :code:`pip.exe` component\nwhen you installed Python (if not go back and install it!) then invoke:\n\n::\n\n $ pip.exe install grpcio-tools\n\nWindows users may need to invoke :code:`pip.exe` from a command line ran as\nadministrator.\n\nn.b. On Windows and on Mac OS X one *must* have a recent release of :code:`pip`\nto retrieve the proper wheel from PyPI. Be sure to upgrade to the latest\nversion!\n\nYou might also need to install Cython to handle installation via the source\ndistribution if gRPC Python's system coverage with wheels does not happen to\ninclude your system.\n\nInstalling From Source\n~~~~~~~~~~~~~~~~~~~~~~\n\nBuilding from source requires that you have the Python headers (usually a\npackage named :code:`python-dev`) and Cython installed. It further requires a\nGCC-like compiler to go smoothly; you can probably get it to work without\nGCC-like stuff, but you may end up having a bad time.\n\n::\n\n $ export REPO_ROOT=grpc # REPO_ROOT can be any directory of your choice\n $ git clone -b RELEASE_TAG_HERE https://github.com/grpc/grpc $REPO_ROOT\n $ cd $REPO_ROOT\n $ git submodule update --init\n\n $ cd tools/distrib/python/grpcio_tools\n $ python ../make_grpcio_tools.py\n\n # For the next command do `sudo pip install` if you get permission-denied errors\n $ GRPC_PYTHON_BUILD_WITH_CYTHON=1 pip install .\n\nYou cannot currently install Python from source on Windows. Things might work\nout for you in MSYS2 (follow the Linux instructions), but it isn't officially\nsupported at the moment.\n\nTroubleshooting\n~~~~~~~~~~~~~~~\n\nHelp, I ...\n\n* **... see compiler errors on some platforms when either installing from source or from the source distribution**\n\n If you see\n\n ::\n\n /tmp/pip-build-U8pSsr/cython/Cython/Plex/Scanners.c:4:20: fatal error: Python.h: No such file or directory\n #include \"Python.h\"\n ^\n compilation terminated.\n\n You can fix it by installing `python-dev` package. i.e\n\n ::\n\n sudo apt-get install python-dev\n\n If you see something similar to:\n\n ::\n\n third_party/protobuf/src/google/protobuf/stubs/mathlimits.h:173:31: note: in expansion of macro 'SIGNED_INT_MAX'\n static const Type kPosMax = SIGNED_INT_MAX(Type); \\\\\n ^\n\n And your toolchain is GCC (at the time of this writing, up through at least\n GCC 6.0), this is probably a bug where GCC chokes on constant expressions\n when the :code:`-fwrapv` flag is specified. You should consider setting your\n environment with :code:`CFLAGS=-fno-wrapv` or using clang (:code:`CC=clang`).\n\nUsage\n-----\n\nGiven protobuf include directories :code:`$INCLUDE`, an output directory\n:code:`$OUTPUT`, and proto files :code:`$PROTO_FILES`, invoke as:\n\n::\n\n $ python -m grpc_tools.protoc -I$INCLUDE --python_out=$OUTPUT --grpc_python_out=$OUTPUT $PROTO_FILES\n\nTo use as a build step in setuptools-based projects, you may use the provided\ncommand class in your :code:`setup.py`:\n\n::\n\n setuptools.setup(\n # ...\n cmdclass={\n 'build_proto_modules': grpc_tools.command.BuildPackageProtos,\n }\n # ...\n )\n\nInvocation of the command will walk the project tree and transpile every\n:code:`.proto` file into a :code:`_pb2.py` file in the same directory.\n\nNote that this particular approach requires :code:`grpcio-tools` to be\ninstalled on the machine before the setup script is invoked (i.e. no\ncombination of :code:`setup_requires` or :code:`install_requires` will provide\naccess to :code:`grpc_tools.command.BuildPackageProtos` if it isn't already\ninstalled). One way to work around this can be found in our\n:code:`grpcio-health-checking`\n`package <https://pypi.python.org/pypi/grpcio-health-checking>`_:\n\n::\n\n class BuildPackageProtos(setuptools.Command):\n \"\"\"Command to generate project *_pb2.py modules from proto files.\"\"\"\n # ...\n def run(self):\n from grpc_tools import command\n command.build_package_protos(self.distribution.package_dir[''])\n\nNow including :code:`grpcio-tools` in :code:`setup_requires` will provide the\ncommand on-setup as desired.\n\nFor more information on command classes, consult :code:`setuptools` documentation.\n",
"bugtrack_url": null,
"license": "Apache License 2.0",
"summary": "Protobuf code generator for gRPC",
"version": "1.70.0",
"project_urls": {
"Bug Tracker": "https://github.com/grpc/grpc/issues",
"Homepage": "https://grpc.io",
"Source Code": "https://github.com/grpc/grpc/tree/master/tools/distrib/python/grpcio_tools"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "694f97343e9af496fde5fd141874cb075ad8f338a99b1bfc1aef1f1041887e31",
"md5": "cb1b82440cb0e1a2cb24ff1c5d80b0cd",
"sha256": "4d456521290e25b1091975af71604facc5c7db162abdca67e12a0207b8bbacbe"
},
"downloads": -1,
"filename": "grpcio_tools-1.70.0-cp310-cp310-linux_armv7l.whl",
"has_sig": false,
"md5_digest": "cb1b82440cb0e1a2cb24ff1c5d80b0cd",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 2380731,
"upload_time": "2025-01-23T17:57:39",
"upload_time_iso_8601": "2025-01-23T17:57:39.201897Z",
"url": "https://files.pythonhosted.org/packages/69/4f/97343e9af496fde5fd141874cb075ad8f338a99b1bfc1aef1f1041887e31/grpcio_tools-1.70.0-cp310-cp310-linux_armv7l.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5448a43b5546eeacf3171d6789aae4d0ab1f2d4203e44eb07ffc60373ac90c26",
"md5": "f2967214bdc62c5e234df7f5cf29c237",
"sha256": "d50080bca84f53f3a05452e06e6251cbb4887f5a1d1321d1989e26d6e0dc398d"
},
"downloads": -1,
"filename": "grpcio_tools-1.70.0-cp310-cp310-macosx_12_0_universal2.whl",
"has_sig": false,
"md5_digest": "f2967214bdc62c5e234df7f5cf29c237",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 5935297,
"upload_time": "2025-01-23T17:57:41",
"upload_time_iso_8601": "2025-01-23T17:57:41.940003Z",
"url": "https://files.pythonhosted.org/packages/54/48/a43b5546eeacf3171d6789aae4d0ab1f2d4203e44eb07ffc60373ac90c26/grpcio_tools-1.70.0-cp310-cp310-macosx_12_0_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a8636f1d3c4fe4342b82cf14fd4c04d762d3ece41e5c60ca53a7532f867c7fa8",
"md5": "375904f8d3556f4812a9714dea14b881",
"sha256": "02e3bf55fb569fe21b54a32925979156e320f9249bb247094c4cbaa60c23a80d"
},
"downloads": -1,
"filename": "grpcio_tools-1.70.0-cp310-cp310-manylinux_2_17_aarch64.whl",
"has_sig": false,
"md5_digest": "375904f8d3556f4812a9714dea14b881",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 2336438,
"upload_time": "2025-01-23T17:57:44",
"upload_time_iso_8601": "2025-01-23T17:57:44.933427Z",
"url": "https://files.pythonhosted.org/packages/a8/63/6f1d3c4fe4342b82cf14fd4c04d762d3ece41e5c60ca53a7532f867c7fa8/grpcio_tools-1.70.0-cp310-cp310-manylinux_2_17_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d901e1dff616f1d088b6024767c914d13fed5800e5cc02c6904396fd01cb41ad",
"md5": "619c2dea20307698bf3a59ad4269e3bf",
"sha256": "88a3ec6fa2381f616d567f996503e12ca353777941b61030fd9733fd5772860e"
},
"downloads": -1,
"filename": "grpcio_tools-1.70.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "619c2dea20307698bf3a59ad4269e3bf",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 2729489,
"upload_time": "2025-01-23T17:57:46",
"upload_time_iso_8601": "2025-01-23T17:57:46.754076Z",
"url": "https://files.pythonhosted.org/packages/d9/01/e1dff616f1d088b6024767c914d13fed5800e5cc02c6904396fd01cb41ad/grpcio_tools-1.70.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3d60a7c493d5cb4962e88e04c4045282ab1c60cbe480fd8105e0472950d43c97",
"md5": "52ee49d6549d1d5088afec05dd380034",
"sha256": "6034a0579fab2aed8685fa1a558de084668b1e9b01a82a4ca7458b9bedf4654c"
},
"downloads": -1,
"filename": "grpcio_tools-1.70.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "52ee49d6549d1d5088afec05dd380034",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 2463411,
"upload_time": "2025-01-23T17:57:48",
"upload_time_iso_8601": "2025-01-23T17:57:48.520956Z",
"url": "https://files.pythonhosted.org/packages/3d/60/a7c493d5cb4962e88e04c4045282ab1c60cbe480fd8105e0472950d43c97/grpcio_tools-1.70.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b71a90c63bd2cc681936e3d8ff27f3b70a6ed7bf9f2fd40b51c18c81b0e167a3",
"md5": "d5200ed92e292560e720572ec4ba0e10",
"sha256": "701bbb1ff406a21a771f5b1df6be516c0a59236774b6836eaad7696b1d128ea8"
},
"downloads": -1,
"filename": "grpcio_tools-1.70.0-cp310-cp310-musllinux_1_1_i686.whl",
"has_sig": false,
"md5_digest": "d5200ed92e292560e720572ec4ba0e10",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 3341102,
"upload_time": "2025-01-23T17:57:50",
"upload_time_iso_8601": "2025-01-23T17:57:50.557130Z",
"url": "https://files.pythonhosted.org/packages/b7/1a/90c63bd2cc681936e3d8ff27f3b70a6ed7bf9f2fd40b51c18c81b0e167a3/grpcio_tools-1.70.0-cp310-cp310-musllinux_1_1_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9c01e70919607bbb77c087c7fd6a8dc8c21a3f575d0cf71ae19e7ca709a10abc",
"md5": "a8893d027f313ef7fa4a29524a22567a",
"sha256": "6eeb86864e1432fc1ab61e03395a2a4c04e9dd9c89db07e6fe68c7c2ac8ec24f"
},
"downloads": -1,
"filename": "grpcio_tools-1.70.0-cp310-cp310-musllinux_1_1_x86_64.whl",
"has_sig": false,
"md5_digest": "a8893d027f313ef7fa4a29524a22567a",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 2944181,
"upload_time": "2025-01-23T17:57:52",
"upload_time_iso_8601": "2025-01-23T17:57:52.556153Z",
"url": "https://files.pythonhosted.org/packages/9c/01/e70919607bbb77c087c7fd6a8dc8c21a3f575d0cf71ae19e7ca709a10abc/grpcio_tools-1.70.0-cp310-cp310-musllinux_1_1_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "172734d3903480e0cffb64a6002a0766784047cac0ba65bd9f2824a0c6c86111",
"md5": "3396ecea13fa93ce7a78010a743511af",
"sha256": "d53c8c45e843b5836781ad6b82a607c72c2f9a3f556e23d703a0e099222421fa"
},
"downloads": -1,
"filename": "grpcio_tools-1.70.0-cp310-cp310-win32.whl",
"has_sig": false,
"md5_digest": "3396ecea13fa93ce7a78010a743511af",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 947441,
"upload_time": "2025-01-23T17:57:54",
"upload_time_iso_8601": "2025-01-23T17:57:54.453918Z",
"url": "https://files.pythonhosted.org/packages/17/27/34d3903480e0cffb64a6002a0766784047cac0ba65bd9f2824a0c6c86111/grpcio_tools-1.70.0-cp310-cp310-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "488ab3b2fd2c8710837185b98abf06e3e775d101a09d2c2192f8f77b91c392b5",
"md5": "7876eaec8cf04f773edb46626c76e580",
"sha256": "22024caee36ab65c2489594d718921dcbb5bd18d61c5417a9ede94fd8dc8a589"
},
"downloads": -1,
"filename": "grpcio_tools-1.70.0-cp310-cp310-win_amd64.whl",
"has_sig": false,
"md5_digest": "7876eaec8cf04f773edb46626c76e580",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 1119450,
"upload_time": "2025-01-23T17:57:56",
"upload_time_iso_8601": "2025-01-23T17:57:56.299709Z",
"url": "https://files.pythonhosted.org/packages/48/8a/b3b2fd2c8710837185b98abf06e3e775d101a09d2c2192f8f77b91c392b5/grpcio_tools-1.70.0-cp310-cp310-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ab2b446a63000acab303bbc1b84fa7dbfa4857d96e95ab53e85083ba16c60d4a",
"md5": "03583aaec009ae55526c598cb8e358e5",
"sha256": "5f5aba12d98d25c7ab2dd983939e2c21556a7d15f903b286f24d88d2c6e30c0a"
},
"downloads": -1,
"filename": "grpcio_tools-1.70.0-cp311-cp311-linux_armv7l.whl",
"has_sig": false,
"md5_digest": "03583aaec009ae55526c598cb8e358e5",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.8",
"size": 2380860,
"upload_time": "2025-01-23T17:57:58",
"upload_time_iso_8601": "2025-01-23T17:57:58.186576Z",
"url": "https://files.pythonhosted.org/packages/ab/2b/446a63000acab303bbc1b84fa7dbfa4857d96e95ab53e85083ba16c60d4a/grpcio_tools-1.70.0-cp311-cp311-linux_armv7l.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0cd248e82de83bf34f9a5207ea808a1c6e074bf657720664eb6c9f0bab38dbf2",
"md5": "8e7e8152c357171b3a9b0c5829ad1bae",
"sha256": "d47a6c6cfc526b290b7b53a37dd7e6932983f7a168b56aab760b4b597c47f30f"
},
"downloads": -1,
"filename": "grpcio_tools-1.70.0-cp311-cp311-macosx_10_14_universal2.whl",
"has_sig": false,
"md5_digest": "8e7e8152c357171b3a9b0c5829ad1bae",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.8",
"size": 5957716,
"upload_time": "2025-01-23T17:58:00",
"upload_time_iso_8601": "2025-01-23T17:58:00.769711Z",
"url": "https://files.pythonhosted.org/packages/0c/d2/48e82de83bf34f9a5207ea808a1c6e074bf657720664eb6c9f0bab38dbf2/grpcio_tools-1.70.0-cp311-cp311-macosx_10_14_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "faf7a735faa8fc96778aa54e321ac6820bab03ee4eea305cc1209b095dfdffee",
"md5": "41dbcdd95b883f0a12451280e178017a",
"sha256": "b5a9beadd1e24772ffa2c70f07d72f73330d356b78b246e424f4f2ed6c6713f3"
},
"downloads": -1,
"filename": "grpcio_tools-1.70.0-cp311-cp311-manylinux_2_17_aarch64.whl",
"has_sig": false,
"md5_digest": "41dbcdd95b883f0a12451280e178017a",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.8",
"size": 2336501,
"upload_time": "2025-01-23T17:58:02",
"upload_time_iso_8601": "2025-01-23T17:58:02.675888Z",
"url": "https://files.pythonhosted.org/packages/fa/f7/a735faa8fc96778aa54e321ac6820bab03ee4eea305cc1209b095dfdffee/grpcio_tools-1.70.0-cp311-cp311-manylinux_2_17_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "47ed4bed599c061b65149b32569347a857098819d75c2419c4202f9de1e06250",
"md5": "e01cfc55ea310e1888ab99e710af3257",
"sha256": "bb8135eef160a62505f074bf7a3d62f3b13911c3c14037c5392bf877114213b5"
},
"downloads": -1,
"filename": "grpcio_tools-1.70.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "e01cfc55ea310e1888ab99e710af3257",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.8",
"size": 2729638,
"upload_time": "2025-01-23T17:58:04",
"upload_time_iso_8601": "2025-01-23T17:58:04.730927Z",
"url": "https://files.pythonhosted.org/packages/47/ed/4bed599c061b65149b32569347a857098819d75c2419c4202f9de1e06250/grpcio_tools-1.70.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "4f43d8850889a2041cf94e882712df0e323cd6bbf24f8f4c50e2f0d80c68da7d",
"md5": "35cf9d7641e742993f818855b1b5c3cb",
"sha256": "f7ac9b3e13ace8467a586c53580ee22f9732c355583f3c344ef8c6c0666219cc"
},
"downloads": -1,
"filename": "grpcio_tools-1.70.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "35cf9d7641e742993f818855b1b5c3cb",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.8",
"size": 2463251,
"upload_time": "2025-01-23T17:58:06",
"upload_time_iso_8601": "2025-01-23T17:58:06.879360Z",
"url": "https://files.pythonhosted.org/packages/4f/43/d8850889a2041cf94e882712df0e323cd6bbf24f8f4c50e2f0d80c68da7d/grpcio_tools-1.70.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a82e2407641c70ca0afe03a04c3c29f0b51e1582759e3d5c995217b4ed0ce2bd",
"md5": "c2cc59deceedc9b8c71aaf36821ee2b7",
"sha256": "63f367363a4a1489a0046b19f9d561216ea0d206c40a6f1bf07a58ccfb7be480"
},
"downloads": -1,
"filename": "grpcio_tools-1.70.0-cp311-cp311-musllinux_1_1_i686.whl",
"has_sig": false,
"md5_digest": "c2cc59deceedc9b8c71aaf36821ee2b7",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.8",
"size": 3340968,
"upload_time": "2025-01-23T17:58:08",
"upload_time_iso_8601": "2025-01-23T17:58:08.825810Z",
"url": "https://files.pythonhosted.org/packages/a8/2e/2407641c70ca0afe03a04c3c29f0b51e1582759e3d5c995217b4ed0ce2bd/grpcio_tools-1.70.0-cp311-cp311-musllinux_1_1_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "debb591799e6b0445028d74552964e47d7b0b23ff5ce9c377688b318de331f12",
"md5": "3c96c8e7572627a2bc91a3e86030639a",
"sha256": "54ceffef59a059d2c7304554a8bbb20eedb05a3f937159ab1c332c1b28e12c9f"
},
"downloads": -1,
"filename": "grpcio_tools-1.70.0-cp311-cp311-musllinux_1_1_x86_64.whl",
"has_sig": false,
"md5_digest": "3c96c8e7572627a2bc91a3e86030639a",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.8",
"size": 2944466,
"upload_time": "2025-01-23T17:58:10",
"upload_time_iso_8601": "2025-01-23T17:58:10.984620Z",
"url": "https://files.pythonhosted.org/packages/de/bb/591799e6b0445028d74552964e47d7b0b23ff5ce9c377688b318de331f12/grpcio_tools-1.70.0-cp311-cp311-musllinux_1_1_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3f90b73293fff616574cbdf70437efb3b2ee6af3705c6b2cc19dd02dfb01708f",
"md5": "88966a8064ee30731347e3ce9f0a8661",
"sha256": "7a90a66a46821140a2a2b0be787dfabe42e22e9a5ba9cc70726b3e5c71a3b785"
},
"downloads": -1,
"filename": "grpcio_tools-1.70.0-cp311-cp311-win32.whl",
"has_sig": false,
"md5_digest": "88966a8064ee30731347e3ce9f0a8661",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.8",
"size": 947335,
"upload_time": "2025-01-23T17:58:13",
"upload_time_iso_8601": "2025-01-23T17:58:13.028646Z",
"url": "https://files.pythonhosted.org/packages/3f/90/b73293fff616574cbdf70437efb3b2ee6af3705c6b2cc19dd02dfb01708f/grpcio_tools-1.70.0-cp311-cp311-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "88cc12ad066dc722285ee3f7d398d4272dc43857de6b7e6fa509a385ca4a857f",
"md5": "87990c9e3059f221a908461d455c5d1c",
"sha256": "4ebf09733545a69c166b02caa14c34451e38855544820dab7fdde5c28e2dbffe"
},
"downloads": -1,
"filename": "grpcio_tools-1.70.0-cp311-cp311-win_amd64.whl",
"has_sig": false,
"md5_digest": "87990c9e3059f221a908461d455c5d1c",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.8",
"size": 1119053,
"upload_time": "2025-01-23T17:58:14",
"upload_time_iso_8601": "2025-01-23T17:58:14.879340Z",
"url": "https://files.pythonhosted.org/packages/88/cc/12ad066dc722285ee3f7d398d4272dc43857de6b7e6fa509a385ca4a857f/grpcio_tools-1.70.0-cp311-cp311-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "588d21f3f0c6e8ddc7ffd82873a6ff767a568a3384043adc034c49fd72020884",
"md5": "e6292d1960de268445d4b9778b0a4608",
"sha256": "ec5d6932c3173d7618267b3b3fd77b9243949c5ec04302b7338386d4f8544e0b"
},
"downloads": -1,
"filename": "grpcio_tools-1.70.0-cp312-cp312-linux_armv7l.whl",
"has_sig": false,
"md5_digest": "e6292d1960de268445d4b9778b0a4608",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.8",
"size": 2380552,
"upload_time": "2025-01-23T17:58:18",
"upload_time_iso_8601": "2025-01-23T17:58:18.148732Z",
"url": "https://files.pythonhosted.org/packages/58/8d/21f3f0c6e8ddc7ffd82873a6ff767a568a3384043adc034c49fd72020884/grpcio_tools-1.70.0-cp312-cp312-linux_armv7l.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e110def56ecb8e139a96aae9d408d891f32f24a066c57179ce5f78e7edf70a35",
"md5": "2528121189a59e0159ba2f367c51ce17",
"sha256": "f22852da12f53b02a3bdb29d0c32fcabab9c7c8f901389acffec8461083f110d"
},
"downloads": -1,
"filename": "grpcio_tools-1.70.0-cp312-cp312-macosx_10_14_universal2.whl",
"has_sig": false,
"md5_digest": "2528121189a59e0159ba2f367c51ce17",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.8",
"size": 5956826,
"upload_time": "2025-01-23T17:58:29",
"upload_time_iso_8601": "2025-01-23T17:58:29.754024Z",
"url": "https://files.pythonhosted.org/packages/e1/10/def56ecb8e139a96aae9d408d891f32f24a066c57179ce5f78e7edf70a35/grpcio_tools-1.70.0-cp312-cp312-macosx_10_14_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "635ef10375b90b7dc14d1b5095797d4f79b34e584fbc9bda06e093ad316a96dd",
"md5": "ed62c66a9f015da9bf70a2e900420824",
"sha256": "7d45067e6efd20881e98a0e1d7edd7f207b1625ad7113321becbfe0a6ebee46c"
},
"downloads": -1,
"filename": "grpcio_tools-1.70.0-cp312-cp312-manylinux_2_17_aarch64.whl",
"has_sig": false,
"md5_digest": "ed62c66a9f015da9bf70a2e900420824",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.8",
"size": 2335835,
"upload_time": "2025-01-23T17:58:31",
"upload_time_iso_8601": "2025-01-23T17:58:31.711086Z",
"url": "https://files.pythonhosted.org/packages/63/5e/f10375b90b7dc14d1b5095797d4f79b34e584fbc9bda06e093ad316a96dd/grpcio_tools-1.70.0-cp312-cp312-manylinux_2_17_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ec33d770fbdf824edfc0f9297be046d4d48fbc81b2dbf802827ade65110f0a47",
"md5": "bac023e1aa444a59c52ee73134eacde8",
"sha256": "3020c97f03b30eee3c26aa2a55fbe003f1729c6f879a378507c2c78524db7c12"
},
"downloads": -1,
"filename": "grpcio_tools-1.70.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "bac023e1aa444a59c52ee73134eacde8",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.8",
"size": 2729501,
"upload_time": "2025-01-23T17:58:34",
"upload_time_iso_8601": "2025-01-23T17:58:34.777437Z",
"url": "https://files.pythonhosted.org/packages/ec/33/d770fbdf824edfc0f9297be046d4d48fbc81b2dbf802827ade65110f0a47/grpcio_tools-1.70.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e2fb8442f386fa71056abe7ebbc153eaac8cbe32875ed659a641ca526ab9f341",
"md5": "a09914a77d3a7a37724e1c89525b8ad4",
"sha256": "d7fd472fce3b33bdf7fbc24d40da7ab10d7a088bcaf59c37433c2c57330fbcb6"
},
"downloads": -1,
"filename": "grpcio_tools-1.70.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "a09914a77d3a7a37724e1c89525b8ad4",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.8",
"size": 2462824,
"upload_time": "2025-01-23T17:58:36",
"upload_time_iso_8601": "2025-01-23T17:58:36.836664Z",
"url": "https://files.pythonhosted.org/packages/e2/fb/8442f386fa71056abe7ebbc153eaac8cbe32875ed659a641ca526ab9f341/grpcio_tools-1.70.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "464e1703d2586663078613baed553de052e029b3d7fe311e90d3f023c85e612a",
"md5": "fd9dee6c506df6c8d634235b4d996750",
"sha256": "3875543d74ce1a698a11f498f83795216ce929cb29afa5fac15672c7ba1d6dd2"
},
"downloads": -1,
"filename": "grpcio_tools-1.70.0-cp312-cp312-musllinux_1_1_i686.whl",
"has_sig": false,
"md5_digest": "fd9dee6c506df6c8d634235b4d996750",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.8",
"size": 3340759,
"upload_time": "2025-01-23T17:58:40",
"upload_time_iso_8601": "2025-01-23T17:58:40.285783Z",
"url": "https://files.pythonhosted.org/packages/46/4e/1703d2586663078613baed553de052e029b3d7fe311e90d3f023c85e612a/grpcio_tools-1.70.0-cp312-cp312-musllinux_1_1_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "59d9f61e427b0e1d7305396dacea65d1e0612eb2bc66b02328ef6bde117624fb",
"md5": "3d8319f5e80adc17329ad192dad47e10",
"sha256": "a130c24d617a3a57369da784080dfa8848444d41b7ae1250abc06e72e706a8d9"
},
"downloads": -1,
"filename": "grpcio_tools-1.70.0-cp312-cp312-musllinux_1_1_x86_64.whl",
"has_sig": false,
"md5_digest": "3d8319f5e80adc17329ad192dad47e10",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.8",
"size": 2944463,
"upload_time": "2025-01-23T17:58:43",
"upload_time_iso_8601": "2025-01-23T17:58:43.618581Z",
"url": "https://files.pythonhosted.org/packages/59/d9/f61e427b0e1d7305396dacea65d1e0612eb2bc66b02328ef6bde117624fb/grpcio_tools-1.70.0-cp312-cp312-musllinux_1_1_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8d8f8f6f511ad90e12d7c2f396ad9efe46019c0a77a5f5f69e46998c834405e4",
"md5": "869078da5018f7e3893a455ba2cfda95",
"sha256": "8eae17c920d14e2e451dbb18f5d8148f884e10228061941b33faa8fceee86e73"
},
"downloads": -1,
"filename": "grpcio_tools-1.70.0-cp312-cp312-win32.whl",
"has_sig": false,
"md5_digest": "869078da5018f7e3893a455ba2cfda95",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.8",
"size": 946776,
"upload_time": "2025-01-23T17:58:45",
"upload_time_iso_8601": "2025-01-23T17:58:45.424364Z",
"url": "https://files.pythonhosted.org/packages/8d/8f/8f6f511ad90e12d7c2f396ad9efe46019c0a77a5f5f69e46998c834405e4/grpcio_tools-1.70.0-cp312-cp312-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "830faff5d01ce9ae94ed02b79e033b0c469e560221340c09120270109de4986a",
"md5": "3af13fd44902b944a5a13d27a4e74c71",
"sha256": "99caa530242a0a832d8b6a6ab94b190c9b449d3e237f953911b4d56207569436"
},
"downloads": -1,
"filename": "grpcio_tools-1.70.0-cp312-cp312-win_amd64.whl",
"has_sig": false,
"md5_digest": "3af13fd44902b944a5a13d27a4e74c71",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.8",
"size": 1118594,
"upload_time": "2025-01-23T17:58:47",
"upload_time_iso_8601": "2025-01-23T17:58:47.274436Z",
"url": "https://files.pythonhosted.org/packages/83/0f/aff5d01ce9ae94ed02b79e033b0c469e560221340c09120270109de4986a/grpcio_tools-1.70.0-cp312-cp312-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "492abf442acb748b2a53281e5e7cc3fa36c25ae99436cd2f2cfe684096d4c39f",
"md5": "61169a27e31485cd6d20a27b854c0eca",
"sha256": "f024688d04e7a9429489ed695b85628075c3c6d655198ba3c6ccbd1d8b7c333b"
},
"downloads": -1,
"filename": "grpcio_tools-1.70.0-cp313-cp313-linux_armv7l.whl",
"has_sig": false,
"md5_digest": "61169a27e31485cd6d20a27b854c0eca",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.8",
"size": 2380142,
"upload_time": "2025-01-23T17:58:50",
"upload_time_iso_8601": "2025-01-23T17:58:50.214259Z",
"url": "https://files.pythonhosted.org/packages/49/2a/bf442acb748b2a53281e5e7cc3fa36c25ae99436cd2f2cfe684096d4c39f/grpcio_tools-1.70.0-cp313-cp313-linux_armv7l.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "dca2984dabaf1cdc41e267acdd37232026ede28f55bc6f9e932907bcbbb46773",
"md5": "3ea49501ff6025ba4e497616958aa1dc",
"sha256": "1fa9a81621d7178498dedcf94eb8f276a7594327faf3dd5fd1935ce2819a2bdb"
},
"downloads": -1,
"filename": "grpcio_tools-1.70.0-cp313-cp313-macosx_10_14_universal2.whl",
"has_sig": false,
"md5_digest": "3ea49501ff6025ba4e497616958aa1dc",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.8",
"size": 5955907,
"upload_time": "2025-01-23T17:58:52",
"upload_time_iso_8601": "2025-01-23T17:58:52.499661Z",
"url": "https://files.pythonhosted.org/packages/dc/a2/984dabaf1cdc41e267acdd37232026ede28f55bc6f9e932907bcbbb46773/grpcio_tools-1.70.0-cp313-cp313-macosx_10_14_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "cd78ebefc32418be93828b46eca5952ef1cb0400b33883bc20c22b1fc2a51f61",
"md5": "13994dc14659c097935e496d3ecbeae1",
"sha256": "c6da2585c0950cdb650df1ff6d85b3fe31e22f8370b9ee11f8fe641d5b4bf096"
},
"downloads": -1,
"filename": "grpcio_tools-1.70.0-cp313-cp313-manylinux_2_17_aarch64.whl",
"has_sig": false,
"md5_digest": "13994dc14659c097935e496d3ecbeae1",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.8",
"size": 2335428,
"upload_time": "2025-01-23T17:58:54",
"upload_time_iso_8601": "2025-01-23T17:58:54.781708Z",
"url": "https://files.pythonhosted.org/packages/cd/78/ebefc32418be93828b46eca5952ef1cb0400b33883bc20c22b1fc2a51f61/grpcio_tools-1.70.0-cp313-cp313-manylinux_2_17_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a0f85d4b58dc846bf28b8b9abf07f5d091eb078fc4f01184adb3b374cf5119a4",
"md5": "53fcde2d8cf6b1e7a9ea4b9a1a51f5cf",
"sha256": "70234b592af17050ec30cf35894790cef52aeae87639efe6db854a7fa783cc8c"
},
"downloads": -1,
"filename": "grpcio_tools-1.70.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "53fcde2d8cf6b1e7a9ea4b9a1a51f5cf",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.8",
"size": 2728481,
"upload_time": "2025-01-23T17:58:56",
"upload_time_iso_8601": "2025-01-23T17:58:56.783397Z",
"url": "https://files.pythonhosted.org/packages/a0/f8/5d4b58dc846bf28b8b9abf07f5d091eb078fc4f01184adb3b374cf5119a4/grpcio_tools-1.70.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b02846833d415b2c2e3e0f36763c528da48785c94580240684e56410abd08aa0",
"md5": "f88d0e010fa62c146570346660d98292",
"sha256": "9c021b040d0a9f5bb96a725c4d2b95008aad127d6bed124a7bbe854973014f5b"
},
"downloads": -1,
"filename": "grpcio_tools-1.70.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "f88d0e010fa62c146570346660d98292",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.8",
"size": 2462401,
"upload_time": "2025-01-23T17:58:59",
"upload_time_iso_8601": "2025-01-23T17:58:59.281382Z",
"url": "https://files.pythonhosted.org/packages/b0/28/46833d415b2c2e3e0f36763c528da48785c94580240684e56410abd08aa0/grpcio_tools-1.70.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "fa8ac771a09aea58275106e08e7dd37470c6e8555dfcea9a7b44d1c5adc80370",
"md5": "f4a497c084ac197b6dd0434c865da323",
"sha256": "114a42e566e5b16a47e98f7910a6c0074b37e2d1faacaae13222e463d0d0d43c"
},
"downloads": -1,
"filename": "grpcio_tools-1.70.0-cp313-cp313-musllinux_1_1_i686.whl",
"has_sig": false,
"md5_digest": "f4a497c084ac197b6dd0434c865da323",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.8",
"size": 3340068,
"upload_time": "2025-01-23T17:59:01",
"upload_time_iso_8601": "2025-01-23T17:59:01.859957Z",
"url": "https://files.pythonhosted.org/packages/fa/8a/c771a09aea58275106e08e7dd37470c6e8555dfcea9a7b44d1c5adc80370/grpcio_tools-1.70.0-cp313-cp313-musllinux_1_1_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3abee3dfa73435c633859c4a045c299105e99a6c6a41cda524148bf9c8d4dc99",
"md5": "eec3bf96babe7f14cb16ee49e6668fe4",
"sha256": "4cae365d7e3ba297256216a9a256458b286f75c64603f017972b3ad1ee374437"
},
"downloads": -1,
"filename": "grpcio_tools-1.70.0-cp313-cp313-musllinux_1_1_x86_64.whl",
"has_sig": false,
"md5_digest": "eec3bf96babe7f14cb16ee49e6668fe4",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.8",
"size": 2944317,
"upload_time": "2025-01-23T17:59:05",
"upload_time_iso_8601": "2025-01-23T17:59:05.594459Z",
"url": "https://files.pythonhosted.org/packages/3a/be/e3dfa73435c633859c4a045c299105e99a6c6a41cda524148bf9c8d4dc99/grpcio_tools-1.70.0-cp313-cp313-musllinux_1_1_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b6bde30fb2b0ce2c0c48caf994b1ebedb56fc7103e26062dd31a41ad1e528eb7",
"md5": "5680d0e3714072ab69bd10cf3c4b8b32",
"sha256": "ae139a8d3ddd8353f62af3af018e99ebcd2f4a237bd319cb4b6f58dd608aaa54"
},
"downloads": -1,
"filename": "grpcio_tools-1.70.0-cp313-cp313-win32.whl",
"has_sig": false,
"md5_digest": "5680d0e3714072ab69bd10cf3c4b8b32",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.8",
"size": 946136,
"upload_time": "2025-01-23T17:59:08",
"upload_time_iso_8601": "2025-01-23T17:59:08.005830Z",
"url": "https://files.pythonhosted.org/packages/b6/bd/e30fb2b0ce2c0c48caf994b1ebedb56fc7103e26062dd31a41ad1e528eb7/grpcio_tools-1.70.0-cp313-cp313-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0f8a92aba852bbe2ddf3e44c354b4162b3cf350b810523ffb2d0e5937bd3f249",
"md5": "ec7e568ee58c4b3eb9ba66e981b58c38",
"sha256": "04bf30c0eb2741defe3ab6e0a6102b022d69cfd39d68fab9b954993ceca8d346"
},
"downloads": -1,
"filename": "grpcio_tools-1.70.0-cp313-cp313-win_amd64.whl",
"has_sig": false,
"md5_digest": "ec7e568ee58c4b3eb9ba66e981b58c38",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.8",
"size": 1118147,
"upload_time": "2025-01-23T17:59:11",
"upload_time_iso_8601": "2025-01-23T17:59:11.013430Z",
"url": "https://files.pythonhosted.org/packages/0f/8a/92aba852bbe2ddf3e44c354b4162b3cf350b810523ffb2d0e5937bd3f249/grpcio_tools-1.70.0-cp313-cp313-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a60bbce2b01d7b171c38909c5e70b61c3559b350ff656036a701d48ce67e5c6f",
"md5": "4bd7cecf07d36452ba6be6d2a8fbf2bf",
"sha256": "076f71c6d5adcf237ebca63f1ed51098293261dab9f301e3dfd180e896e5fa89"
},
"downloads": -1,
"filename": "grpcio_tools-1.70.0-cp38-cp38-linux_armv7l.whl",
"has_sig": false,
"md5_digest": "4bd7cecf07d36452ba6be6d2a8fbf2bf",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 2381290,
"upload_time": "2025-01-23T17:59:13",
"upload_time_iso_8601": "2025-01-23T17:59:13.271806Z",
"url": "https://files.pythonhosted.org/packages/a6/0b/bce2b01d7b171c38909c5e70b61c3559b350ff656036a701d48ce67e5c6f/grpcio_tools-1.70.0-cp38-cp38-linux_armv7l.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "bc6107cb971a13043ebc37e513bfcf442ea59125345c40cec4f0f924a4952619",
"md5": "156942aff01686ab03ce9aac6a5ef53d",
"sha256": "d1fc2112e9c40167086e2e6a929b253e5281bffd070fab7cd1ae019317ffc11d"
},
"downloads": -1,
"filename": "grpcio_tools-1.70.0-cp38-cp38-macosx_10_14_universal2.whl",
"has_sig": false,
"md5_digest": "156942aff01686ab03ce9aac6a5ef53d",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 5960402,
"upload_time": "2025-01-23T17:59:15",
"upload_time_iso_8601": "2025-01-23T17:59:15.753385Z",
"url": "https://files.pythonhosted.org/packages/bc/61/07cb971a13043ebc37e513bfcf442ea59125345c40cec4f0f924a4952619/grpcio_tools-1.70.0-cp38-cp38-macosx_10_14_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "443ac98299532891a769296b058b63de2c76a496b5b8c2533810ebc29780656c",
"md5": "44bd118f37ab7d6c8e5fed8fa5fd7106",
"sha256": "904f13d2d04f88178b09d8ef89549b90cbf8792b684a7c72540fc1a9887697e2"
},
"downloads": -1,
"filename": "grpcio_tools-1.70.0-cp38-cp38-manylinux_2_17_aarch64.whl",
"has_sig": false,
"md5_digest": "44bd118f37ab7d6c8e5fed8fa5fd7106",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 2337054,
"upload_time": "2025-01-23T17:59:19",
"upload_time_iso_8601": "2025-01-23T17:59:19.445111Z",
"url": "https://files.pythonhosted.org/packages/44/3a/c98299532891a769296b058b63de2c76a496b5b8c2533810ebc29780656c/grpcio_tools-1.70.0-cp38-cp38-manylinux_2_17_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "10e55296bd2382ad5d7ed2ce579c2a830f94bac4e91137f47168172bf75f7f68",
"md5": "567488e86267f5f4a1c26de34ae749c6",
"sha256": "1de6c71833d36fb8cc8ac10539681756dc2c5c67e5d4aa4d05adb91ecbdd8474"
},
"downloads": -1,
"filename": "grpcio_tools-1.70.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "567488e86267f5f4a1c26de34ae749c6",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 2731131,
"upload_time": "2025-01-23T17:59:22",
"upload_time_iso_8601": "2025-01-23T17:59:22.923605Z",
"url": "https://files.pythonhosted.org/packages/10/e5/5296bd2382ad5d7ed2ce579c2a830f94bac4e91137f47168172bf75f7f68/grpcio_tools-1.70.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "775316b9c8c9f2e7d8d9df96051a3360cd31d5218986e63b5a14938fa38c1b70",
"md5": "dca242b3fe01971ce17383214a3fbd1f",
"sha256": "1ab788afced2d2c59bef86479967ce0b28485789a9f2cc43793bb7aa67f9528b"
},
"downloads": -1,
"filename": "grpcio_tools-1.70.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "dca242b3fe01971ce17383214a3fbd1f",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 2464142,
"upload_time": "2025-01-23T17:59:25",
"upload_time_iso_8601": "2025-01-23T17:59:25.337228Z",
"url": "https://files.pythonhosted.org/packages/77/53/16b9c8c9f2e7d8d9df96051a3360cd31d5218986e63b5a14938fa38c1b70/grpcio_tools-1.70.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d43d6328f1636b66619e4192b785965cf2d95ca6f7e39f5e5030ff22eb484eb5",
"md5": "209a6b328c29fb34a99599e6cf525671",
"sha256": "836293dcbb1e59fa52aa8aa890bd7a32a8eea7651cd614e96d86de4f3032fe73"
},
"downloads": -1,
"filename": "grpcio_tools-1.70.0-cp38-cp38-musllinux_1_1_i686.whl",
"has_sig": false,
"md5_digest": "209a6b328c29fb34a99599e6cf525671",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 3341924,
"upload_time": "2025-01-23T17:59:28",
"upload_time_iso_8601": "2025-01-23T17:59:28.559119Z",
"url": "https://files.pythonhosted.org/packages/d4/3d/6328f1636b66619e4192b785965cf2d95ca6f7e39f5e5030ff22eb484eb5/grpcio_tools-1.70.0-cp38-cp38-musllinux_1_1_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "96297f6b9dd4122fa46ac6ebdd12a3e344bba03b8d1afadd229ad056f135e982",
"md5": "e183d9b9d63bd0214b368617329b3654",
"sha256": "740b3741d124c5f390dd50ad1c42c11788882baf3c202cd3e69adee0e3dde559"
},
"downloads": -1,
"filename": "grpcio_tools-1.70.0-cp38-cp38-musllinux_1_1_x86_64.whl",
"has_sig": false,
"md5_digest": "e183d9b9d63bd0214b368617329b3654",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 2944429,
"upload_time": "2025-01-23T17:59:30",
"upload_time_iso_8601": "2025-01-23T17:59:30.938575Z",
"url": "https://files.pythonhosted.org/packages/96/29/7f6b9dd4122fa46ac6ebdd12a3e344bba03b8d1afadd229ad056f135e982/grpcio_tools-1.70.0-cp38-cp38-musllinux_1_1_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "96a555b060488adb9dea51973cc723542dab3464c528e6c42cae052608ed6d31",
"md5": "1a0745a22ea7577384fd63b1143eee01",
"sha256": "b9e4a12b862ba5e42d8028da311e8d4a2c307362659b2f4141d0f940f8c12b49"
},
"downloads": -1,
"filename": "grpcio_tools-1.70.0-cp38-cp38-win32.whl",
"has_sig": false,
"md5_digest": "1a0745a22ea7577384fd63b1143eee01",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 947562,
"upload_time": "2025-01-23T17:59:33",
"upload_time_iso_8601": "2025-01-23T17:59:33.308927Z",
"url": "https://files.pythonhosted.org/packages/96/a5/55b060488adb9dea51973cc723542dab3464c528e6c42cae052608ed6d31/grpcio_tools-1.70.0-cp38-cp38-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6e645082df7ae850af29d02587c7addcf6defb876ef439080bb527425bdffd47",
"md5": "6401595e546f72c9da864dd304b2dc6c",
"sha256": "fd04c93af460b1456cd12f8f85502503e1db6c4adc1b7d4bd775b12c1fd94fee"
},
"downloads": -1,
"filename": "grpcio_tools-1.70.0-cp38-cp38-win_amd64.whl",
"has_sig": false,
"md5_digest": "6401595e546f72c9da864dd304b2dc6c",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 1119470,
"upload_time": "2025-01-23T17:59:35",
"upload_time_iso_8601": "2025-01-23T17:59:35.818822Z",
"url": "https://files.pythonhosted.org/packages/6e/64/5082df7ae850af29d02587c7addcf6defb876ef439080bb527425bdffd47/grpcio_tools-1.70.0-cp38-cp38-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b5a74f1823dae0dd3e9f12eaf33f0e505fb3f5c3c2ce4e4351045819a8c1862e",
"md5": "f65f92cc01bc496ec9eac4435fdbde20",
"sha256": "52d7e7ef11867fe7de577076b1f2ac6bf106b2325130e3de66f8c364c96ff332"
},
"downloads": -1,
"filename": "grpcio_tools-1.70.0-cp39-cp39-linux_armv7l.whl",
"has_sig": false,
"md5_digest": "f65f92cc01bc496ec9eac4435fdbde20",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 2381002,
"upload_time": "2025-01-23T17:59:38",
"upload_time_iso_8601": "2025-01-23T17:59:38.045395Z",
"url": "https://files.pythonhosted.org/packages/b5/a7/4f1823dae0dd3e9f12eaf33f0e505fb3f5c3c2ce4e4351045819a8c1862e/grpcio_tools-1.70.0-cp39-cp39-linux_armv7l.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "4a6c5186c4f8bbd0c29a983ee09b42f36310dc4b8d654b03a622eb93e29c98dc",
"md5": "dd581712aae42ca6b50571243a7c4187",
"sha256": "0f7ed0372afd9f5eb938334e84681396257015ab92e03de009aa3170e64b24d0"
},
"downloads": -1,
"filename": "grpcio_tools-1.70.0-cp39-cp39-macosx_10_14_universal2.whl",
"has_sig": false,
"md5_digest": "dd581712aae42ca6b50571243a7c4187",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 5958443,
"upload_time": "2025-01-23T17:59:40",
"upload_time_iso_8601": "2025-01-23T17:59:40.827601Z",
"url": "https://files.pythonhosted.org/packages/4a/6c/5186c4f8bbd0c29a983ee09b42f36310dc4b8d654b03a622eb93e29c98dc/grpcio_tools-1.70.0-cp39-cp39-macosx_10_14_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e232f075b0619071f49103cedc1aa7db90d8dd76222dd97dcad757ecb9b541ee",
"md5": "fd1157d2b6da198fc7bf7f2c7092a56c",
"sha256": "24a5b0328ffcfe0c4a9024f302545abdb8d6f24921409a5839f2879555b96fea"
},
"downloads": -1,
"filename": "grpcio_tools-1.70.0-cp39-cp39-manylinux_2_17_aarch64.whl",
"has_sig": false,
"md5_digest": "fd1157d2b6da198fc7bf7f2c7092a56c",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 2336520,
"upload_time": "2025-01-23T17:59:52",
"upload_time_iso_8601": "2025-01-23T17:59:52.157562Z",
"url": "https://files.pythonhosted.org/packages/e2/32/f075b0619071f49103cedc1aa7db90d8dd76222dd97dcad757ecb9b541ee/grpcio_tools-1.70.0-cp39-cp39-manylinux_2_17_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0971d66008aab2e44ff7aa1916cdfa6777fa823c665d0c9f5e163c056a8295d4",
"md5": "ebff4528be45b3e34f647e2db7d78885",
"sha256": "9387b30f3b2f46942fb5718624d7421875a6ce458620d6e15817172d78db1e1a"
},
"downloads": -1,
"filename": "grpcio_tools-1.70.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "ebff4528be45b3e34f647e2db7d78885",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 2729454,
"upload_time": "2025-01-23T17:59:55",
"upload_time_iso_8601": "2025-01-23T17:59:55.438277Z",
"url": "https://files.pythonhosted.org/packages/09/71/d66008aab2e44ff7aa1916cdfa6777fa823c665d0c9f5e163c056a8295d4/grpcio_tools-1.70.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "edc742c807214318575afe9af36cea1fa2245851de21d86276283fe90afe6aa1",
"md5": "fe6aa0f1922738490a348d2666f15051",
"sha256": "4545264e06e1cd7fb21b9447bb5126330bececb4bc626c98f793fda2fd910bf8"
},
"downloads": -1,
"filename": "grpcio_tools-1.70.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "fe6aa0f1922738490a348d2666f15051",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 2463326,
"upload_time": "2025-01-23T17:59:57",
"upload_time_iso_8601": "2025-01-23T17:59:57.954858Z",
"url": "https://files.pythonhosted.org/packages/ed/c7/42c807214318575afe9af36cea1fa2245851de21d86276283fe90afe6aa1/grpcio_tools-1.70.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6c2842436a16b038f16e3c9c688cdf1c87c7bf9f1b578d835ee96537bf8272cf",
"md5": "d5130854346176dee06a718b5bd94ebb",
"sha256": "79b723ce30416e8e1d7ff271f97ade79aaf30309a595d80c377105c07f5b20fd"
},
"downloads": -1,
"filename": "grpcio_tools-1.70.0-cp39-cp39-musllinux_1_1_i686.whl",
"has_sig": false,
"md5_digest": "d5130854346176dee06a718b5bd94ebb",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 3341064,
"upload_time": "2025-01-23T18:00:01",
"upload_time_iso_8601": "2025-01-23T18:00:01.543158Z",
"url": "https://files.pythonhosted.org/packages/6c/28/42436a16b038f16e3c9c688cdf1c87c7bf9f1b578d835ee96537bf8272cf/grpcio_tools-1.70.0-cp39-cp39-musllinux_1_1_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "08ef69a670269b8575b77188e43553e812eefc7b17693881ca52ddf839652309",
"md5": "4eabe2587c9ba1ddc56817a62712dd01",
"sha256": "1c0917dce12af04529606d437def83962d51c59dcde905746134222e94a2ab1b"
},
"downloads": -1,
"filename": "grpcio_tools-1.70.0-cp39-cp39-musllinux_1_1_x86_64.whl",
"has_sig": false,
"md5_digest": "4eabe2587c9ba1ddc56817a62712dd01",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 2944096,
"upload_time": "2025-01-23T18:00:05",
"upload_time_iso_8601": "2025-01-23T18:00:05.084919Z",
"url": "https://files.pythonhosted.org/packages/08/ef/69a670269b8575b77188e43553e812eefc7b17693881ca52ddf839652309/grpcio_tools-1.70.0-cp39-cp39-musllinux_1_1_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ddcae3548728937558e1883c63b2cd90357bc7802b77481cbc77d3b72f3e27d1",
"md5": "4bdf95cb14e09194d385755f78bb4bc0",
"sha256": "5cb0baa52d4d44690fac6b1040197c694776a291a90e2d3c369064b4d5bc6642"
},
"downloads": -1,
"filename": "grpcio_tools-1.70.0-cp39-cp39-win32.whl",
"has_sig": false,
"md5_digest": "4bdf95cb14e09194d385755f78bb4bc0",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 947346,
"upload_time": "2025-01-23T18:00:07",
"upload_time_iso_8601": "2025-01-23T18:00:07.789796Z",
"url": "https://files.pythonhosted.org/packages/dd/ca/e3548728937558e1883c63b2cd90357bc7802b77481cbc77d3b72f3e27d1/grpcio_tools-1.70.0-cp39-cp39-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "be667c1a552545a9597fbd33d77c817f1f0cc56736ca64aa0821948f945118d6",
"md5": "d75a37edd8435992768e9cb112df7d9e",
"sha256": "840ec536ab933db2ef8d5acaa6b712d0e9e8f397f62907c852ec50a3f69cdb78"
},
"downloads": -1,
"filename": "grpcio_tools-1.70.0-cp39-cp39-win_amd64.whl",
"has_sig": false,
"md5_digest": "d75a37edd8435992768e9cb112df7d9e",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 1119339,
"upload_time": "2025-01-23T18:00:11",
"upload_time_iso_8601": "2025-01-23T18:00:11.003191Z",
"url": "https://files.pythonhosted.org/packages/be/66/7c1a552545a9597fbd33d77c817f1f0cc56736ca64aa0821948f945118d6/grpcio_tools-1.70.0-cp39-cp39-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c1fe3adf1035c1f9e9243516530beae67e197f2acc17562ec75f03a0ba77fc55",
"md5": "af15573dc9eae68320c3446dfb072d88",
"sha256": "e578fee7c1c213c8e471750d92631d00f178a15479fb2cb3b939a07fc125ccd3"
},
"downloads": -1,
"filename": "grpcio_tools-1.70.0.tar.gz",
"has_sig": false,
"md5_digest": "af15573dc9eae68320c3446dfb072d88",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 5323149,
"upload_time": "2025-01-23T18:00:38",
"upload_time_iso_8601": "2025-01-23T18:00:38.271613Z",
"url": "https://files.pythonhosted.org/packages/c1/fe/3adf1035c1f9e9243516530beae67e197f2acc17562ec75f03a0ba77fc55/grpcio_tools-1.70.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-23 18:00:38",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "grpc",
"github_project": "grpc",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "coverage",
"specs": [
[
">=",
"4.0"
]
]
},
{
"name": "cython",
"specs": [
[
">=",
"3.0.0"
]
]
},
{
"name": "protobuf",
"specs": [
[
">=",
"5.26.1"
],
[
"<",
"6.0dev"
]
]
},
{
"name": "wheel",
"specs": [
[
">=",
"0.29"
]
]
}
],
"lcname": "grpcio-tools"
}