Skip to main content

PyPI packaged Protocol Buffers Compiler

Project description

Protobuf Logo
Python Protoc Executable

PyPI packaged Protocol Buffers Compiler

A PyPI package providing a pip-installable protoc executable.

This package does not provide any Python code, it provides just the unaltered protoc executable. The versioning thus also follows the official versioning of protoc, and is different to the versioning of the protobuf runtime.

The difference of this package to protoc-wheel and protoc-wheel-0 is that those packages wrap the protoc in Python. Whereas this package provides just the protoc executable, without anything else. As a consequence you can directly call protoc after installing this package in your environment. This makes it perfect for providing the protoc executable wherever you need the actual thing to be available in your PATH, e.g. together with buf (if you do you might want to check out buf-exe as well).

Note that this project is not affiliated with or endorsed by Google or the Protobuf team. The -exe suffix in the name was chosen to ensure that the protoc name stays available, just in case there ever is going to be an official package.

Warning the redistribution process is not yet fully automated, as I am in the process of building the tooling. Currently only the latest protoc release is available, and it was created semi-manually with the scripts you currently see in the repository. The plan is to fully automate everything, and provide new protoc releases with 24 hours.

Usage

Simply use protoc as the executable in whatever process abstraction you are using, regardless of your operating system. The only requirement is that your PATH is set correctly so that the protoc (or protoc.exe on Windows) is found. For instance, you could use pip and a basic virtual environment:

# example.py
import subprocess
subprocess.check_call(["command", "-v", "protoc"])
subprocess.check_call(["protoc", "--version"])
cd /tmp
python -m venv venv
source venv/bin/activate
pip install protoc-exe
command -v protoc # /tmp/venv/bin/protoc
protoc --version  # libprotoc x.y[.z]
python example.py
# /tmp/venv/bin/protoc
# libprotoc x.y[.z]
rm -fr venv/

Note that the example uses a POSIX compliant shell, but it works on non-POSIX systems as well. Have a look at the GitHub Actions.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

protoc_exe-22.0rc1-py2.py3-none-win_amd64.whl (2.7 MB view details)

Uploaded Python 2 Python 3 Windows x86-64

protoc_exe-22.0rc1-py2.py3-none-win32.whl (2.7 MB view details)

Uploaded Python 2 Python 3 Windows x86

protoc_exe-22.0rc1-py2.py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.8 MB view details)

Uploaded Python 2 Python 3 manylinux: glibc 2.17+ s390x

protoc_exe-22.0rc1-py2.py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (2.1 MB view details)

Uploaded Python 2 Python 3 manylinux: glibc 2.17+ ppc64le

protoc_exe-22.0rc1-py2.py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.9 MB view details)

Uploaded Python 2 Python 3 manylinux: glibc 2.17+ ARM64

protoc_exe-22.0rc1-py2.py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl (2.0 MB view details)

Uploaded Python 2 Python 3 manylinux: glibc 2.5+ x86-64

protoc_exe-22.0rc1-py2.py3-none-manylinux_2_5_i686.manylinux1_i686.whl (2.2 MB view details)

Uploaded Python 2 Python 3 manylinux: glibc 2.5+ i686

protoc_exe-22.0rc1-py2.py3-none-macosx_11_0_arm64.whl (1.8 MB view details)

Uploaded Python 2 Python 3 macOS 11.0+ ARM64

protoc_exe-22.0rc1-py2.py3-none-macosx_10_4_x86_64.whl (1.8 MB view details)

Uploaded Python 2 Python 3 macOS 10.4+ x86-64

File details

Details for the file protoc_exe-22.0rc1-py2.py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for protoc_exe-22.0rc1-py2.py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 fc404005d362faae5f2fb13544594eae18074f1aa8a375e97380d15d2ee77c2b
MD5 825181cb401aa2128678f1807543538e
BLAKE2b-256 aed9da1c43a2e7e86a0ca8fda702d26ad25237cf460f7558bc284929788af34d

See more details on using hashes here.

File details

Details for the file protoc_exe-22.0rc1-py2.py3-none-win32.whl.

File metadata

File hashes

Hashes for protoc_exe-22.0rc1-py2.py3-none-win32.whl
Algorithm Hash digest
SHA256 2d66eb3d0e2968be070616185b6255fc85183511ab4b599739ac8565689b6234
MD5 955697f9829f4fab493c84cd39456602
BLAKE2b-256 f834fe060554b893ce822ba23a1a9730ebdab4747e0e3bc9d8905a54f2c399af

See more details on using hashes here.

File details

Details for the file protoc_exe-22.0rc1-py2.py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for protoc_exe-22.0rc1-py2.py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 28c92f2e2f55041acd964535ec7dc826c1076c8aab65b15a75095d09dfea9e21
MD5 9a9212de128634b7e092d8be2ba8a65d
BLAKE2b-256 07ffbbce9a8c6c2f55d7290aa5d928eeadc38a72aab07b4f5f527303fd1cea1f

See more details on using hashes here.

File details

Details for the file protoc_exe-22.0rc1-py2.py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for protoc_exe-22.0rc1-py2.py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 70dcf4b806add8abbf979ddac3add317a1a963f7581a9ebfad05c69ed4d86c78
MD5 21bcd485f2dee9034e5d2c6df9360124
BLAKE2b-256 0840887d15548d27c6f3d99a1d10b2eb85a96ed304035bf596f37fab55dae1c6

See more details on using hashes here.

File details

Details for the file protoc_exe-22.0rc1-py2.py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for protoc_exe-22.0rc1-py2.py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4a3cebb43dbd648a15919704fb33daf0b851d862e7f33cbbe15cd07a9322ad52
MD5 dd416d5603329136828288b958c4f489
BLAKE2b-256 f7823d5d9523e7497c25411e379744cf4cb60f08e4cbf2ae6e595a729f4a9da2

See more details on using hashes here.

File details

Details for the file protoc_exe-22.0rc1-py2.py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for protoc_exe-22.0rc1-py2.py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 29fc83969958ec0e9f4802d8fb2f36e788174aaf00f5506d0cc32e11226ea24c
MD5 c7d3b881ca5d3e328983895bec480555
BLAKE2b-256 010d71d5c0c8f03ed8a5965b32ee890fe9d5efb1e1090a5500039c251342f9ef

See more details on using hashes here.

File details

Details for the file protoc_exe-22.0rc1-py2.py3-none-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for protoc_exe-22.0rc1-py2.py3-none-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 e578d938aea08faf1fec8cb19f798ba129b0897caed91bd923d85a4a4aab0d37
MD5 3c3626de2105a042b370aaadda10643e
BLAKE2b-256 917e6d8601b986b23832aa0c0851d862f0ff2086338bd8be2770eef8aa0641d4

See more details on using hashes here.

File details

Details for the file protoc_exe-22.0rc1-py2.py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for protoc_exe-22.0rc1-py2.py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8d7dc89b1693209cb0c5071765f4d5c346b2628cbba2f7966f135959599ec093
MD5 19870561dbf548915bd11eee5088312f
BLAKE2b-256 0c8493606755d983124dd77bde5feba1e6900c2fc1f99b0a3a599137ab75f0bf

See more details on using hashes here.

File details

Details for the file protoc_exe-22.0rc1-py2.py3-none-macosx_10_4_x86_64.whl.

File metadata

File hashes

Hashes for protoc_exe-22.0rc1-py2.py3-none-macosx_10_4_x86_64.whl
Algorithm Hash digest
SHA256 6f01764d1d4e572e7d55e831e437ca1df66de94a53c235b7fd22a44e0ae1a8b0
MD5 0798150eb18d7b7eb659cefba1aba09e
BLAKE2b-256 49a8d59f68327d928e288d5d8db2aec0b9f60c4bf6961f62be5b24c4ca1f5570

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page