Skip to main content

Compile protobuffers with setuptools

Project description

protobufferize

A simple setuptools plugin to compile proto files at build time.

Installation

Install from PyPI: pip3 install protobufferize

Configuration

Available configuration parameters:

  • clearOutputDirectory [default: false]
  • grpcOutputDirectory [default: None]
  • outputDirectory [default: ./output]
  • protoSourceRoot [default: ./protos]
  • protoVersion [default: 3.10.1]

XML configuration example:

<ProtobufferizeConfiguration>
	<clearOutputDirectory>false</clearOutputDirectory>
	<grpcOutputDirectory>test_data/grpc_output</grpcOutputDirectory>
	<outputDirectory>test_data/output</outputDirectory>
	<protoSourceRoot>test_data/protos</protoSourceRoot>
	<protoVersion>3.10.1</protoVersion>
</ProtobufferizeConfiguration>

A xml configuration file named protobufferize.xml should be put in the python's project root folder. In alternative, the configuration file's path can be specified in the environment variable protobufferize_conf.

Usage

Compile every .proto file in protoSourceRoot subdirectories and output in the specified outputDirectory (outputDirectory gets emptied beforewards if clearOutputDirectory set to true).

python3 setup.py protobufferize

Internal details

By default, the specified version of protoc binary is downloaded and executed to compile the profo files.

If grpcOutputDirectory is set - instead - the latest grpc-tools pypi package is used (and the protoc version is ignored for compatibility problems).

Project details


Download files

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

Files for protobufferize, version 2.0
Filename, size File type Python version Upload date Hashes
Filename, size protobufferize-2.0-py2.py3-none-any.whl (15.8 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size protobufferize-2.0.tar.gz (3.4 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page