Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

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.

Metadata

Release files for protobuf-protoc-bin 37.0rc1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for protobuf-protoc-bin 37.0rc1
File Size Uploaded
protobuf_protoc_bin-37.0rc1.tar.gz 11.0 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for protobuf-protoc-bin 37.0rc1
File
protobuf_protoc_bin-37.0rc1-py2.py3-none-win_arm64.whl Python 2, Python 3 none Windows ARM64 Details
protobuf_protoc_bin-37.0rc1-py2.py3-none-win_amd64.whl Python 2, Python 3 none Windows x86-64 Details
protobuf_protoc_bin-37.0rc1-py2.py3-none-manylinux_2_24_x86_64.whl Python 2, Python 3 none Linux glibc 2.24+ x86-64 Details
protobuf_protoc_bin-37.0rc1-py2.py3-none-manylinux_2_24_aarch64.whl Python 2, Python 3 none Linux glibc 2.24+ ARM64 Details
protobuf_protoc_bin-37.0rc1-py2.py3-none-macosx_10_13_universal2.whl Python 2, Python 3 none macOS 10.13+ universal2 (ARM64, x86-64) Details

Total release size: 17.9 MB

Release files / protobuf_protoc_bin-37.0rc1.tar.gz

Download URL protobuf_protoc_bin-37.0rc1.tar.gz
Size 11.0 kB
Tags Source
SHA-256 checksum
How to use checksums
7d3b0f3ef84065ce4a100be03cbaa2465253a4fa3403049343f6881765a62834
BLAKE2b-256 checksum
How to use checksums
d531ea44da7ac26a53f2d71e4fbbb7dbb9d60b7f5fee0be4781c215296281fb7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / protobuf_protoc_bin-37.0rc1-py2.py3-none-win_arm64.whl

Download URL protobuf_protoc_bin-37.0rc1-py2.py3-none-win_arm64.whl
Size 3.7 MB
Tags Python 2 Python 3 Windows ARM64
SHA-256 checksum
How to use checksums
351fc9b733c5a97eea4ded7fbad978fb95feb6439fdd2962b689e35989b862f0
BLAKE2b-256 checksum
How to use checksums
28784415f6b52f30b86a8333c3f78cd01f9c9b5fd07fe18387f8967f12d32592
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / protobuf_protoc_bin-37.0rc1-py2.py3-none-win_amd64.whl

Download URL protobuf_protoc_bin-37.0rc1-py2.py3-none-win_amd64.whl
Size 3.7 MB
Tags Python 2 Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
b03cb799dfcd67d5632f91f27e3f37a48e4d3da776e4615572cb1ee91fea0224
BLAKE2b-256 checksum
How to use checksums
2790be2b7528f9fedd1cf11238149069df812f659ec9ac7f60cac7cfef10cdf5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / protobuf_protoc_bin-37.0rc1-py2.py3-none-manylinux_2_24_x86_64.whl

Download URL protobuf_protoc_bin-37.0rc1-py2.py3-none-manylinux_2_24_x86_64.whl
Size 3.8 MB
Tags Linux glibc 2.24+ x86-64 Python 2 Python 3
SHA-256 checksum
How to use checksums
564ab7b9963fbf4c0ae210caa8fa450e7c605979121125cabf2795a2a0118d18
BLAKE2b-256 checksum
How to use checksums
d761416a713fb6095b43c01d736051cb0a5144ad3f16c9cc92574e7ccc93fb12
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / protobuf_protoc_bin-37.0rc1-py2.py3-none-manylinux_2_24_aarch64.whl

Download URL protobuf_protoc_bin-37.0rc1-py2.py3-none-manylinux_2_24_aarch64.whl
Size 3.8 MB
Tags Linux glibc 2.24+ ARM64 Python 2 Python 3
SHA-256 checksum
How to use checksums
01fa06d98ddbebb019295553f7330e8e444776d575b64e6550216ba554667781
BLAKE2b-256 checksum
How to use checksums
14d7436695bdc549d4060ba8843034a6ce534ba63f427765fddfeb2d73064068
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / protobuf_protoc_bin-37.0rc1-py2.py3-none-macosx_10_13_universal2.whl

Download URL protobuf_protoc_bin-37.0rc1-py2.py3-none-macosx_10_13_universal2.whl
Size 2.9 MB
Tags Python 2 Python 3 macOS 10.13+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
327be36da2e0b6bf28dc5eaf34df9e3a234e16e5ccb77d40d5f5e1a8559428c6
BLAKE2b-256 checksum
How to use checksums
2d2ae25f8e6fc1c5774ef662a9aa58a81116a0dad50a1b08fa058fd3195e65cf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

37.0rc1 This release

6 release files

36.2

6 release files

36.1

6 release files

36.0

6 release files

35.1

6 release files

35.0

6 release files

34.2

6 release files

34.1

6 release files

34.0

6 release files

33.6

6 release files

33.5

6 release files

33.4

5 release files

33.3

5 release files

33.2

5 release files

33.1

4 release files

33.0

4 release files

32.1

4 release files

32.0

4 release files

31.1

4 release files

31.0

4 release files

30.2

4 release files

30.1

4 release files

30.0

4 release files

29.6

6 release files

29.5

4 release files

29.4

4 release files

29.3

4 release files

29.2

4 release files

29.1

4 release files

29.0

4 release files

28.3

4 release files

28.2

4 release files

28.1

4 release files

28.0

4 release files

27.5

4 release files

27.4

4 release files

27.3

4 release files

27.2

4 release files

27.1

4 release files

27.0

4 release files

26.1

4 release files

26.0

4 release files

25.9

6 release files

25.8

4 release files

25.7

4 release files

25.6

4 release files

25.5

4 release files

25.4

4 release files

25.3

4 release files

25.2

4 release files

24.4

4 release files

22.0

4 release 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