Skip to main content

Setuptools protobuf extension plugin

Project description

protobuf support for setuptools

Plugin for setuptools that adds support for compiling protobuf files.

Dependencies

The plugin requires the external protoc executable that is part of the protobuf project to be present. On Debian systems, this executable is shipped in the protobuf-compiler package.

If the protoc_version option is specified, the specified version of protoc will be downloaded from github. When it is not specified, a protoc binary is expected to be present in the environment. You can override the binary with the PROTOC environment variable.

Optionally, it can also generate typing hints if the mypy extra is selected.

Usage

You can configure setuptools-protobuf in either setup.py, setup.cfg or pyproject.toml.

setup.py

from setuptools_protobuf import Protobuf

setup(
...
    setup_requires=['setuptools-protobuf'],
    protobufs=[Protobuf('example/foo.proto')],
)

setup.cfg

...

[options]
setup_requires =
    setuptools
    setuptools-protobuf

pyproject.toml

[build-system]
requires = ["setuptools", "setuptools-protobuf"]

[tool.setuptools-protobuf]
protobufs = ["example/foo.proto"]

# Require the generation of typing hints:
mypy = true

# Optionally, set the specific protoc version to use:
protoc_version = '25.1'

GitHub actions

To install protoc in a GitHub action, you can use the setup-protoc action:

- name: Install Protoc
  uses: arduino/setup-protoc@v2

Project details


Download files

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

Source Distribution

setuptools-protobuf-0.1.11.tar.gz (11.1 kB view details)

Uploaded Source

Built Distribution

setuptools_protobuf-0.1.11-py3-none-any.whl (9.2 kB view details)

Uploaded Python 3

File details

Details for the file setuptools-protobuf-0.1.11.tar.gz.

File metadata

  • Download URL: setuptools-protobuf-0.1.11.tar.gz
  • Upload date:
  • Size: 11.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for setuptools-protobuf-0.1.11.tar.gz
Algorithm Hash digest
SHA256 f958d932e4e2e65f4d3895dfbd2d34ed461c9f9146e628a555a27e9b3b23e314
MD5 735ce60ce9838585d26e26252127e910
BLAKE2b-256 daff320adef690aefbb5a57be6cd71df52daaeee5273da6d968efb3ba14c81b1

See more details on using hashes here.

File details

Details for the file setuptools_protobuf-0.1.11-py3-none-any.whl.

File metadata

File hashes

Hashes for setuptools_protobuf-0.1.11-py3-none-any.whl
Algorithm Hash digest
SHA256 fcce90c16d1901cf0dcc375df58f754811de1d5350a02f60ff3e4f1a6f121c82
MD5 69e1eb6a861ac4e34a51b7235681b071
BLAKE2b-256 62e2b78ce112e2bd687eb3648660bb8ecee3693fe8154802844d0958ff3b710f

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