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.0.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.0-py2.py3-none-win_arm64.whl (3.6 MB view details)

Uploaded Python 2Python 3Windows ARM64

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

Uploaded Python 2Python 3Windows x86-64

protobuf_protoc_bin-36.0-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.0-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.0-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.0.tar.gz.

File metadata

  • Download URL: protobuf_protoc_bin-36.0.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.0.tar.gz
Algorithm Hash digest
SHA256 3c8cbb00558a8903da45870c663c1c27bbd8d9cbc956a56eefc510c11eaff05c
MD5 08a588a07819173bc5055251f5af0bc3
BLAKE2b-256 23c67c2537ef6697bad6254d6b7d320e9749497edd228f8d73c6aab08d4a0a8e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for protobuf_protoc_bin-36.0-py2.py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 2a01af8883621263983a90d1159d984a09afd421897c1a1aa6027a39022a8a4e
MD5 2224c6a8cf526d84fb391bf7a02fe828
BLAKE2b-256 38802086087f4b4e694b6243f87a13a0f17a59ec1c6721defc3aa831e871383c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for protobuf_protoc_bin-36.0-py2.py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 34c7c7d1ab686c71a3a253c61fa9c66e13b04b1ccace27276337ef8ca572dceb
MD5 38297af2d2604f67dcaf5617b8061330
BLAKE2b-256 4fa2056ccfc8ff171536710995dc8284c9befaa58361b74979559c32b525d790

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for protobuf_protoc_bin-36.0-py2.py3-none-manylinux_2_24_x86_64.whl
Algorithm Hash digest
SHA256 31f151ebe8cfe9a3ec169540f6e1732db1f87bfcc57715bd3298555ed5dd20f2
MD5 97d948abdae871ccaa4ac7f4267bedfd
BLAKE2b-256 dca2393f4e4f7ad01169909079c7398a30c9fa26b140c4e03f81a1fed1e8a369

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for protobuf_protoc_bin-36.0-py2.py3-none-manylinux_2_24_aarch64.whl
Algorithm Hash digest
SHA256 fa333eac22b2227285f060d72f3d1210b646e3cbd7ef0515ee87070295cd6ed7
MD5 a05577519af0327eb6dbf1fe626e0f2d
BLAKE2b-256 bf6f4003f9fa0c601f8285c56d07d88edc678a84910e54b614236778061236ce

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for protobuf_protoc_bin-36.0-py2.py3-none-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 b40ad0c4f485c26a9e11fb20859ff34259e5eacff2ac7d5ea473701e38d4f149
MD5 71fd89c43df30875bc68f91c561aa447
BLAKE2b-256 a0b76aca3104acd3b22cf688b0c6163573820693d6110b444b71299052d95dc9

See more details on using hashes here.

Release history Release notifications | RSS feed

36.1

6 files

This release

36.0 This release

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