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.

Source Distribution

protobufferize-2.0.tar.gz (3.4 kB view hashes)

Uploaded source

Built Distribution

protobufferize-2.0-py2.py3-none-any.whl (15.8 kB view hashes)

Uploaded py2 py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page