grpcio-tools 1.75.1


pip install grpcio-tools

  Latest version

Released: Sep 26, 2025


Meta
Author: The gRPC Authors
Requires Python: >=3.9

Classifiers

Development Status
  • 5 - Production/Stable

Programming Language
  • Python
  • Python :: 3

License
  • OSI Approved :: Apache Software License

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 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 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 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 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 -fwrapv flag is specified. You should consider setting your environment with CFLAGS=-fno-wrapv or using clang (CC=clang).

Usage

Given protobuf include directories $INCLUDE, an output directory $OUTPUT, and proto files $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 setup.py:

setuptools.setup(
  # ...
  cmdclass={
    'build_proto_modules': grpc_tools.command.BuildPackageProtos,
  }
  # ...
)

Invocation of the command will walk the project tree and transpile every .proto file into a _pb2.py file in the same directory.

Note that this particular approach requires grpcio-tools to be installed on the machine before the setup script is invoked (i.e. no combination of setup_requires or install_requires will provide access to grpc_tools.command.BuildPackageProtos if it isn’t already installed). One way to work around this can be found in our grpcio-health-checking package:

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 grpcio-tools in setup_requires will provide the command on-setup as desired.

For more information on command classes, consult setuptools documentation.

1.76.0rc1 Oct 03, 2025
1.75.1 Sep 26, 2025
1.75.0 Sep 16, 2025
1.75.0rc1 Aug 27, 2025
1.74.0 Jul 24, 2025
1.74.0rc1 Jul 14, 2025
1.73.1 Jun 26, 2025
1.73.0 Jun 09, 2025
1.73.0rc1 May 28, 2025
1.72.2 Jun 26, 2025
1.72.1 Jun 02, 2025
1.72.0 Apr 25, 2025
1.72.0rc1 Apr 08, 2025
1.71.2 Jun 28, 2025
1.71.0 Mar 10, 2025
1.71.0rc2 Feb 24, 2025
1.70.0 Jan 23, 2025
1.70.0rc1 Jan 15, 2025
1.69.0 Jan 05, 2025
1.69.0rc1 Dec 17, 2024
1.68.1 Dec 02, 2024
1.68.0 Nov 16, 2024
1.68.0rc1 Oct 31, 2024
1.67.1 Oct 29, 2024
1.67.0 Oct 16, 2024
1.67.0rc1 Sep 20, 2024
1.66.2 Sep 28, 2024
1.66.1 Aug 28, 2024
1.66.0 Aug 22, 2024
1.66.0rc5 Aug 16, 2024
1.66.0rc3 Aug 08, 2024
1.66.0rc2 Aug 02, 2024
1.66.0rc1 Aug 02, 2024
1.65.5 Aug 17, 2024
1.65.4 Aug 02, 2024
1.65.2 Jul 31, 2024
1.65.1 Jul 18, 2024
1.65.0 Jul 11, 2024
1.65.0rc2 Jun 27, 2024
1.65.0rc1 Jun 18, 2024
1.64.3 Aug 06, 2024
1.64.1 Jun 03, 2024
1.64.0 May 20, 2024
1.64.0rc1 May 08, 2024
1.63.2 Aug 06, 2024
1.63.0 Apr 30, 2024
1.63.0rc2 Apr 19, 2024
1.63.0rc1 Apr 15, 2024
1.62.3 Aug 06, 2024
1.62.2 Apr 18, 2024
1.62.1 Mar 08, 2024
1.62.0 Feb 21, 2024
1.62.0rc1 Feb 16, 2024
1.61.3 Aug 06, 2024
1.60.2 Aug 06, 2024
1.60.1 Feb 01, 2024
1.60.0 Dec 07, 2023
1.60.0rc1 Nov 14, 2023
1.59.5 Aug 06, 2024
1.59.3 Nov 17, 2023
1.59.2 Oct 30, 2023
1.59.0 Sep 29, 2023
1.59.0rc1 Sep 27, 2023
1.58.3 Aug 06, 2024
1.58.0 Sep 07, 2023
1.58.0rc1 Aug 25, 2023
1.57.0 Aug 10, 2023
1.57.0rc1 Jul 26, 2023
1.56.2 Jul 19, 2023
1.56.0 Jun 22, 2023
1.56.0rc2 Jun 13, 2023
1.55.3 Aug 01, 2023
1.55.0 May 22, 2023
1.55.0rc1 May 01, 2023
1.54.3 Aug 02, 2023
1.54.2 May 12, 2023
1.54.0 Apr 18, 2023
1.54.0rc1 Apr 05, 2023
1.53.2 Aug 02, 2023
1.53.1 May 12, 2023
1.53.0 Mar 27, 2023
1.53.0rc2 Mar 14, 2023
1.52.0 Feb 06, 2023
1.52.0rc1 Jan 19, 2023
1.51.3 Feb 21, 2023
1.51.1 Nov 29, 2022
1.51.0 Nov 21, 2022
1.51.0rc1 Nov 14, 2022
1.50.0 Oct 18, 2022
1.50.0rc1 Oct 03, 2022
1.49.1 Sep 22, 2022
1.49.0 Sep 15, 2022
1.49.0rc3 Sep 01, 2022
1.49.0rc1 Aug 18, 2022
1.48.2 Sep 22, 2022
1.48.1 Sep 01, 2022
1.48.0 Jul 28, 2022
1.48.0rc1 Jul 06, 2022
1.47.5 Feb 28, 2023
1.47.2 Sep 22, 2022
1.47.0 Jun 22, 2022
1.47.0rc1 Jun 17, 2022
1.46.5 Sep 22, 2022
1.46.3 May 20, 2022
1.46.1 May 11, 2022
1.46.0 May 04, 2022
1.46.0rc2 Apr 22, 2022
1.46.0rc1 Apr 18, 2022
1.45.0 Mar 23, 2022
1.45.0rc1 Mar 10, 2022
1.44.0 Feb 17, 2022
1.44.0rc2 Jan 28, 2022
1.44.0rc1 Jan 24, 2022
1.43.0 Dec 16, 2021
1.43.0rc1 Dec 07, 2021
1.42.0 Nov 17, 2021
1.42.0rc1 Nov 05, 2021
1.41.1 Oct 25, 2021
1.41.0 Sep 27, 2021
1.41.0rc2 Sep 20, 2021
1.40.0 Sep 07, 2021
1.40.0rc1 Aug 24, 2021
1.39.0 Jul 21, 2021
1.39.0rc1 Jul 02, 2021
1.38.1 Jun 21, 2021
1.38.0 May 20, 2021
1.38.0rc1 May 11, 2021
1.37.1 Apr 29, 2021
1.37.0 Apr 07, 2021
1.37.0rc1 Mar 31, 2021
1.36.1 Mar 03, 2021
1.36.0 Feb 26, 2021
1.36.0rc1 Feb 16, 2021
1.35.0 Jan 20, 2021
1.35.0rc1 Jan 08, 2021
1.34.1 Jan 13, 2021
1.34.0 Dec 02, 2020
1.34.0rc1 Nov 23, 2020
1.33.2 Oct 28, 2020
1.33.1 Oct 21, 2020
1.33.0rc2 Oct 14, 2020
1.33.0rc1 Oct 08, 2020
1.32.0 Sep 09, 2020
1.32.0rc1 Aug 31, 2020
1.31.0 Aug 05, 2020
1.31.0rc2 Jul 29, 2020
1.31.0rc1 Jul 23, 2020
1.30.0 Jun 23, 2020
1.30.0rc1 Jun 08, 2020
1.29.0 May 14, 2020
1.28.1 Apr 03, 2020
1.28.0rc3 Mar 06, 2020
1.28.0rc2 Mar 03, 2020
1.28.0rc1 Feb 27, 2020
1.28.0.dev0 Feb 27, 2020
1.27.2 Feb 13, 2020
1.27.1 Feb 07, 2020
1.27.0rc2 Jan 28, 2020
1.27.0rc1 Jan 23, 2020
1.26.0 Dec 18, 2019
1.26.0rc1 Dec 05, 2019
1.25.0 Nov 06, 2019
1.25.0rc1 Oct 25, 2019
1.24.3 Oct 23, 2019
1.24.1 Oct 03, 2019
1.24.0 Sep 26, 2019
1.24.0rc1 Sep 20, 2019
1.23.1 Sep 30, 2019
1.23.0 Aug 16, 2019
1.23.0rc1 Aug 05, 2019
1.22.1 Aug 15, 2019
1.22.0 Jul 03, 2019
1.22.0rc1 Jun 20, 2019
1.21.1 May 24, 2019
1.21.1rc1 May 24, 2019
1.21.0rc1 May 10, 2019
1.20.1 Apr 26, 2019
1.20.0 Apr 16, 2019
1.20.0rc3 Apr 08, 2019
1.20.0rc2 Apr 04, 2019
1.20.0rc1 Apr 02, 2019
1.19.0 Feb 27, 2019
1.19.0rc1 Feb 15, 2019
1.18.0 Jan 15, 2019
1.18.0rc1 Jan 08, 2019
1.17.1 Dec 13, 2018
1.17.1rc1 Dec 07, 2018
1.17.0 Dec 05, 2018
1.17.0rc1 Nov 20, 2018
1.16.1 Nov 15, 2018
1.16.1rc1 Nov 07, 2018
1.16.0 Oct 24, 2018
1.16.0rc1 Oct 09, 2018
1.15.0 Sep 12, 2018
1.15.0rc1 Aug 28, 2018
1.14.2 Aug 30, 2018
1.14.2rc1 Aug 22, 2018
1.14.1 Aug 08, 2018
1.14.0 Aug 02, 2018
1.14.0rc2 Jul 31, 2018
1.14.0rc1 Jul 25, 2018
1.13.0 Jun 29, 2018
1.13.0rc3 Jun 25, 2018
1.13.0rc2 Jun 16, 2018
1.13.0rc1 Jun 11, 2018
1.12.1 Jun 05, 2018
1.12.0 May 15, 2018
1.12.0rc1 May 04, 2018
1.11.1 May 15, 2018
1.11.1rc1 May 03, 2018
1.11.0 Apr 13, 2018
1.11.0rc2 Apr 10, 2018
1.11.0rc1 Apr 06, 2018
1.10.1 Apr 06, 2018
1.10.1rc2 Apr 05, 2018
1.10.1rc1 Mar 28, 2018
1.10.0 Mar 01, 2018
1.10.0rc2 Feb 27, 2018
1.10.0rc1 Feb 23, 2018
1.9.1 Feb 06, 2018
1.9.0 Feb 02, 2018
1.9.0rc3 Jan 30, 2018
1.9.0rc2 Jan 25, 2018
1.8.6 Jan 29, 2018
1.8.4 Jan 10, 2018
1.8.3 Jan 03, 2018
1.8.2 Dec 20, 2017
1.8.1 Dec 15, 2017
1.7.3 Dec 05, 2017
1.7.0 Oct 26, 2017
1.6.3 Sep 28, 2017
1.6.0 Aug 30, 2017
1.4.0 Jun 21, 2017
1.3.5 May 22, 2017
1.3.3 May 22, 2017
1.3.0 Apr 28, 2017
1.2.1 Mar 29, 2017
1.2.0 Mar 20, 2017
1.1.3 Feb 24, 2017
1.1.0 Jan 31, 2017
1.0.4 Dec 14, 2016
1.0.3 Dec 13, 2016
1.0.2 Dec 10, 2016
1.0.1 Oct 28, 2016
1.0.0 Aug 19, 2016
0.15.1 Jul 02, 2016
0.14.0 May 10, 2016

Wheel compatibility matrix

Platform CPython 3.9 CPython 3.10 CPython 3.11 CPython 3.12 CPython 3.13 CPython 3.14
linux_armv7l
macosx_11_0_universal2
manylinux2014_aarch64
manylinux2014_i686
manylinux2014_x86_64
manylinux_2_17_aarch64
manylinux_2_17_i686
manylinux_2_17_x86_64
musllinux_1_2_aarch64
musllinux_1_2_i686
musllinux_1_2_x86_64
win32
win_amd64

Files in release

grpcio_tools-1.75.1-cp310-cp310-linux_armv7l.whl (2.4MiB)
grpcio_tools-1.75.1-cp310-cp310-macosx_11_0_universal2.whl (5.6MiB)
grpcio_tools-1.75.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (2.5MiB)
grpcio_tools-1.75.1-cp310-cp310-manylinux2014_i686.manylinux_2_17_i686.whl (2.8MiB)
grpcio_tools-1.75.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (2.5MiB)
grpcio_tools-1.75.1-cp310-cp310-musllinux_1_2_aarch64.whl (3.0MiB)
grpcio_tools-1.75.1-cp310-cp310-musllinux_1_2_i686.whl (3.5MiB)
grpcio_tools-1.75.1-cp310-cp310-musllinux_1_2_x86_64.whl (3.2MiB)
grpcio_tools-1.75.1-cp310-cp310-win32.whl (969.7KiB)
grpcio_tools-1.75.1-cp310-cp310-win_amd64.whl (1.1MiB)
grpcio_tools-1.75.1-cp311-cp311-linux_armv7l.whl (2.4MiB)
grpcio_tools-1.75.1-cp311-cp311-macosx_11_0_universal2.whl (5.6MiB)
grpcio_tools-1.75.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (2.5MiB)
grpcio_tools-1.75.1-cp311-cp311-manylinux2014_i686.manylinux_2_17_i686.whl (2.8MiB)
grpcio_tools-1.75.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (2.5MiB)
grpcio_tools-1.75.1-cp311-cp311-musllinux_1_2_aarch64.whl (3.0MiB)
grpcio_tools-1.75.1-cp311-cp311-musllinux_1_2_i686.whl (3.5MiB)
grpcio_tools-1.75.1-cp311-cp311-musllinux_1_2_x86_64.whl (3.2MiB)
grpcio_tools-1.75.1-cp311-cp311-win32.whl (970.1KiB)
grpcio_tools-1.75.1-cp311-cp311-win_amd64.whl (1.1MiB)
grpcio_tools-1.75.1-cp312-cp312-linux_armv7l.whl (2.4MiB)
grpcio_tools-1.75.1-cp312-cp312-macosx_11_0_universal2.whl (5.6MiB)
grpcio_tools-1.75.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (2.5MiB)
grpcio_tools-1.75.1-cp312-cp312-manylinux2014_i686.manylinux_2_17_i686.whl (2.8MiB)
grpcio_tools-1.75.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (2.5MiB)
grpcio_tools-1.75.1-cp312-cp312-musllinux_1_2_aarch64.whl (3.0MiB)
grpcio_tools-1.75.1-cp312-cp312-musllinux_1_2_i686.whl (3.5MiB)
grpcio_tools-1.75.1-cp312-cp312-musllinux_1_2_x86_64.whl (3.2MiB)
grpcio_tools-1.75.1-cp312-cp312-win32.whl (969.8KiB)
grpcio_tools-1.75.1-cp312-cp312-win_amd64.whl (1.1MiB)
grpcio_tools-1.75.1-cp313-cp313-linux_armv7l.whl (2.4MiB)
grpcio_tools-1.75.1-cp313-cp313-macosx_11_0_universal2.whl (5.6MiB)
grpcio_tools-1.75.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (2.5MiB)
grpcio_tools-1.75.1-cp313-cp313-manylinux2014_i686.manylinux_2_17_i686.whl (2.8MiB)
grpcio_tools-1.75.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (2.5MiB)
grpcio_tools-1.75.1-cp313-cp313-musllinux_1_2_aarch64.whl (3.0MiB)
grpcio_tools-1.75.1-cp313-cp313-musllinux_1_2_i686.whl (3.5MiB)
grpcio_tools-1.75.1-cp313-cp313-musllinux_1_2_x86_64.whl (3.2MiB)
grpcio_tools-1.75.1-cp313-cp313-win32.whl (969.2KiB)
grpcio_tools-1.75.1-cp313-cp313-win_amd64.whl (1.1MiB)
grpcio_tools-1.75.1-cp314-cp314-linux_armv7l.whl (2.4MiB)
grpcio_tools-1.75.1-cp314-cp314-macosx_11_0_universal2.whl (5.6MiB)
grpcio_tools-1.75.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (2.5MiB)
grpcio_tools-1.75.1-cp314-cp314-manylinux2014_i686.manylinux_2_17_i686.whl (2.8MiB)
grpcio_tools-1.75.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (2.5MiB)
grpcio_tools-1.75.1-cp314-cp314-musllinux_1_2_aarch64.whl (3.0MiB)
grpcio_tools-1.75.1-cp314-cp314-musllinux_1_2_i686.whl (3.5MiB)
grpcio_tools-1.75.1-cp314-cp314-musllinux_1_2_x86_64.whl (3.2MiB)
grpcio_tools-1.75.1-cp314-cp314-win32.whl (991.5KiB)
grpcio_tools-1.75.1-cp314-cp314-win_amd64.whl (1.1MiB)
grpcio_tools-1.75.1-cp39-cp39-linux_armv7l.whl (2.4MiB)
grpcio_tools-1.75.1-cp39-cp39-macosx_11_0_universal2.whl (5.6MiB)
grpcio_tools-1.75.1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (2.5MiB)
grpcio_tools-1.75.1-cp39-cp39-manylinux2014_i686.manylinux_2_17_i686.whl (2.8MiB)
grpcio_tools-1.75.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (2.5MiB)
grpcio_tools-1.75.1-cp39-cp39-musllinux_1_2_aarch64.whl (3.0MiB)
grpcio_tools-1.75.1-cp39-cp39-musllinux_1_2_i686.whl (3.5MiB)
grpcio_tools-1.75.1-cp39-cp39-musllinux_1_2_x86_64.whl (3.2MiB)
grpcio_tools-1.75.1-cp39-cp39-win32.whl (970.0KiB)
grpcio_tools-1.75.1-cp39-cp39-win_amd64.whl (1.1MiB)
grpcio_tools-1.75.1.tar.gz (5.1MiB)
Extras: None
Dependencies:
protobuf (<7.0.0,>=6.31.1)
grpcio (>=1.75.1)
setuptools