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.

Metadata

Release files for protobuf-protoc-bin 36.2

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 36.2
File Size Uploaded
protobuf_protoc_bin-36.2.tar.gz 11.0 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for protobuf-protoc-bin 36.2
File
protobuf_protoc_bin-36.2-py2.py3-none-win_arm64.whl Python 2, Python 3 none Windows ARM64 Details
protobuf_protoc_bin-36.2-py2.py3-none-win_amd64.whl Python 2, Python 3 none Windows x86-64 Details
protobuf_protoc_bin-36.2-py2.py3-none-manylinux_2_24_x86_64.whl Python 2, Python 3 none Linux glibc 2.24+ x86-64 Details
protobuf_protoc_bin-36.2-py2.py3-none-manylinux_2_24_aarch64.whl Python 2, Python 3 none Linux glibc 2.24+ ARM64 Details
protobuf_protoc_bin-36.2-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.2 MB

Release files / protobuf_protoc_bin-36.2.tar.gz

Download URL protobuf_protoc_bin-36.2.tar.gz
Size 11.0 kB
Tags Source
SHA-256 checksum
How to use checksums
d579762269e86ef5c1c8fd5a4219c34ba2ce5ae6b81048e59a81dd7fb05a5bb2
BLAKE2b-256 checksum
How to use checksums
20135fe015b8ff2ce5b2e08f0562d7f9def691c991ac140246696dfdd782c796
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-36.2-py2.py3-none-win_arm64.whl

Download URL protobuf_protoc_bin-36.2-py2.py3-none-win_arm64.whl
Size 3.6 MB
Tags Python 2 Python 3 Windows ARM64
SHA-256 checksum
How to use checksums
a7e860ea8c159153a739dca0742f9eda42ef94352471e80837b8b785057b61fa
BLAKE2b-256 checksum
How to use checksums
a0c0148c587dd919e55c95d9071cb75e2c887e29dfd42dda99d6684ede6bf092
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-36.2-py2.py3-none-win_amd64.whl

Download URL protobuf_protoc_bin-36.2-py2.py3-none-win_amd64.whl
Size 3.6 MB
Tags Python 2 Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
60ba48ed19983fe545427272c1a5a42ac0927cd0172e1a981adb42bb56fd4758
BLAKE2b-256 checksum
How to use checksums
bc99a178edf74f0f66ef5d28373da9cc30069cc0e183bbe5579fed9177dca092
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-36.2-py2.py3-none-manylinux_2_24_x86_64.whl

Download URL protobuf_protoc_bin-36.2-py2.py3-none-manylinux_2_24_x86_64.whl
Size 3.7 MB
Tags Linux glibc 2.24+ x86-64 Python 2 Python 3
SHA-256 checksum
How to use checksums
eb79667e8ca9e40d877aa116cfdb9c75216cd200b1cb2da2c15dce0e5068d98c
BLAKE2b-256 checksum
How to use checksums
327d4aa51547c66456dc96ffc20dc640001603a2e06d383f96ceca8f3392550d
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-36.2-py2.py3-none-manylinux_2_24_aarch64.whl

Download URL protobuf_protoc_bin-36.2-py2.py3-none-manylinux_2_24_aarch64.whl
Size 3.6 MB
Tags Linux glibc 2.24+ ARM64 Python 2 Python 3
SHA-256 checksum
How to use checksums
d33959e3e34b483355fc472ad6dc8b5a51410189d4dcceede3c5a2167a463e05
BLAKE2b-256 checksum
How to use checksums
1493b60d80eb67fdcab9b216664c00e0a80360a4548edd85ef024501341bb7ca
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-36.2-py2.py3-none-macosx_10_13_universal2.whl

Download URL protobuf_protoc_bin-36.2-py2.py3-none-macosx_10_13_universal2.whl
Size 2.8 MB
Tags Python 2 Python 3 macOS 10.13+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
3bdd76996b9eb41b2fa277eb6ef5b2b5a1f953fd922b3ada053b9899d43d8c4c
BLAKE2b-256 checksum
How to use checksums
8825fbdfce6ebc1776d50de401eef561be7323fe5dfb631529724259985b5e7d
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

36.2 This release

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