Skip to main content

Protobuf Protoc Bin

PyPI - Version Auto monitoring of protobuf Build status

This Python package is an installer for protobuf's protoc compiler.

Use this package to install a specific version of protoc in your project, without having to figure out the installation externally.

This package is not maintained by or affiliated with the official protobuf group!

This repository does not host any binaries on itself. Instead, the binaries are downloaded from the official protobuf Github during package built or during source installation.

How to install

The package is hosted on PyPi at https://pypi.org/project/protobuf-protoc-bin.
It can be installed via PIP as normal with:

pip install protobuf-protoc-bin

The wheels hosted on PyPi do contain a copy of the protoc releases. You can also install this package directly from the Github source. During an installation from source, protoc will be downloaded fresh from the official Protobuf releases:

pip install "git+https://github.com/RobertoRoos/protobuf-protoc-bin.git@<tag>"

(Replacing <tag> with a version like v27.3.)

How to require

To require protoc only during a build script, include it in your pyproject.toml with:

[build-system]
requires = [..., "protobuf-protoc-bin==27.3"]
# ...

Or make it part of an additional install group in your regular environment (with the Poetry backend):

[tool.poetry.group.dev.dependencies]
protobuf-protoc-bin = "27.3"

How to develop

The following concerns only contributors to this package.

Adding a release

Each protobuf-protoc-bin release must correspond one-to-one to a Protobuf release.

To trigger a new release, simply push a new tag to the tip of the main branch that matches the protobuf release, including the leading 'v'. An example of a valid tag is v27.3.

This means multiple package releases are made from the same commit. However, the reference that triggers the CI build will affect the version assigned by setuptools_scm and therefor the protobuf release that's being packaged.

CI

A nightly workflow runs a script that looks for new Protoc releases and copies the tags into here, at the tip of the main branch. So future releases should show up fully automatically.

Platform Tags

Relevant for a binary wheel release is the platform tag, to indicate to a client which wheel should be downloaded. Separate from that is downloading the correct archive from the protoc release page. Below is a table showing known examples and their correct values. In setup.py there is logic to determine these values dynamically.

Ubuntu (arm64) Ubuntu (x64) Windows (x64) MacOS (x64)
Github runner ubuntu-24.04-arm ubuntu-latest windows-latest macos-latest
sysconfig.get_platform() linux-aarch64 linux-x86_64 win-amd64 macosx-10.13-universal2
platform.system() Linux Linux Windows Darwin
platform.architecture() ('64bit', 'ELF') ('64bit', 'ELF') ('64bit', 'WindowsPE') ('64bit', '')
Wheel platform tag manylinux_2_24_aarch64 manylinux_2_24_x86_64 win_amd64 macosx_10_13_universal2
Protoc archive name protoc-vvv-linux-aarch_64.zip protoc-vvv-linux-x86_64.zip protoc-vvv-win64.zip protoc-vvv-osx-x86_64.zip

Testing

You can locally override the version that setuptools-scm detects by writing the environment variable SETUPTOOLS_SCM_PRETEND_VERSION. This way you can easily mimic specific releases.

Download files

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

Source Distribution

protobuf_protoc_bin-36.1.tar.gz (11.0 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

protobuf_protoc_bin-36.1-py2.py3-none-win_arm64.whl (3.6 MB view details)

Uploaded Python 2Python 3Windows ARM64

protobuf_protoc_bin-36.1-py2.py3-none-win_amd64.whl (3.6 MB view details)

Uploaded Python 2Python 3Windows x86-64

protobuf_protoc_bin-36.1-py2.py3-none-manylinux_2_24_x86_64.whl (3.7 MB view details)

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

protobuf_protoc_bin-36.1-py2.py3-none-manylinux_2_24_aarch64.whl (3.6 MB view details)

Uploaded Python 2Python 3manylinux: glibc 2.24+ ARM64

protobuf_protoc_bin-36.1-py2.py3-none-macosx_10_13_universal2.whl (2.8 MB view details)

Uploaded Python 2Python 3macOS 10.13+ universal2 (ARM64, x86-64)

File details

Details for the file protobuf_protoc_bin-36.1.tar.gz.

File metadata

  • Download URL: protobuf_protoc_bin-36.1.tar.gz
  • Upload date:
  • Size: 11.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for protobuf_protoc_bin-36.1.tar.gz
Algorithm Hash digest
SHA256 110039a0842928c318238e563ec3c3b688cbd53f8e54b7a43ef357a94d70b9c7
MD5 84c2b7c2b22bb50677ca6b927662d4fe
BLAKE2b-256 5d65e92c800151d68cad6326304033f9e6ea8f34c050c31df4b3c587ae3accd1

See more details on using hashes here.

File details

Details for the file protobuf_protoc_bin-36.1-py2.py3-none-win_arm64.whl.

File metadata

File hashes

Hashes for protobuf_protoc_bin-36.1-py2.py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 e7430be3e5e798cb72cdcbad5212fc86710eaf264bf3573972746d23d81f9455
MD5 82f551675fc132da320e3580c2b52d39
BLAKE2b-256 b8753d2b1bedce9bcb657a01358a73ffbc20f079f2faaaae5f01a2b45825235c

See more details on using hashes here.

File details

Details for the file protobuf_protoc_bin-36.1-py2.py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for protobuf_protoc_bin-36.1-py2.py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 955fda0d7953a86fbd5da4b7295b1227c6ae64444ac4b19ac03d3cdacc4b6ff4
MD5 3bf8e0936d59dbe84b50ec3f73255e65
BLAKE2b-256 a6bf39885b681d167227436dbde044d1b2ea2fd13fd51cb43e6f49056b7d84b9

See more details on using hashes here.

File details

Details for the file protobuf_protoc_bin-36.1-py2.py3-none-manylinux_2_24_x86_64.whl.

File metadata

File hashes

Hashes for protobuf_protoc_bin-36.1-py2.py3-none-manylinux_2_24_x86_64.whl
Algorithm Hash digest
SHA256 8eeb810370e6569afd7e238a1d782d703fda1827d7efb4796c9940e534651b04
MD5 2863fc1c8c88eb9db90d97a2d94b80f6
BLAKE2b-256 f440a08b6ff70d2a4751a80cf710c26251d52a5ef84e71fb1f5a25abf3e448cc

See more details on using hashes here.

File details

Details for the file protobuf_protoc_bin-36.1-py2.py3-none-manylinux_2_24_aarch64.whl.

File metadata

File hashes

Hashes for protobuf_protoc_bin-36.1-py2.py3-none-manylinux_2_24_aarch64.whl
Algorithm Hash digest
SHA256 edf5930849c17379c44e8280ce6f8d13cb55a28d03b92a889446082971b82a06
MD5 61bd79b3741d48d012d07e9e1bead2bd
BLAKE2b-256 095c559d2519f5ca75faa04ee7872d1b98b5b35069d89fa5c7f022516f06aa2b

See more details on using hashes here.

File details

Details for the file protobuf_protoc_bin-36.1-py2.py3-none-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for protobuf_protoc_bin-36.1-py2.py3-none-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 c73a71f86ac0f7da0747f805affe4c3153453957947056c4e67719953a68346f
MD5 3fe3508c7147878fe3ebdfeb870fe646
BLAKE2b-256 b43b65dd6ddd2eb6dada081e0b6212e9216439dc77eca16e60faa542e5e3e80c

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

36.1 This release

6 files

36.0

6 files

35.1

6 files

35.0

6 files

34.2

6 files

34.1

6 files

34.0

6 files

33.6

6 files

33.5

6 files

33.4

5 files

33.3

5 files

33.2

5 files

33.1

4 files

33.0

4 files

32.1

4 files

32.0

4 files

31.1

4 files

31.0

4 files

30.2

4 files

30.1

4 files

30.0

4 files

29.6

6 files

29.5

4 files

29.4

4 files

29.3

4 files

29.2

4 files

29.1

4 files

29.0

4 files

28.3

4 files

28.2

4 files

28.1

4 files

28.0

4 files

27.5

4 files

27.4

4 files

27.3

4 files

27.2

4 files

27.1

4 files

27.0

4 files

26.1

4 files

26.0

4 files

25.9

6 files

25.8

4 files

25.7

4 files

25.6

4 files

25.5

4 files

25.4

4 files

25.3

4 files

25.2

4 files

24.4

4 files

22.0

4 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page