Pants v2: Fast, consistent builds for Python and more

Welcome to the Pants v2 documentation hub!

Pants v2 is a fast, scalable build system for growing codebases. It's currently focused on Python, with support for other languages coming soon.

Here you'll find guides to help you get started with Pants v2, comprehensive documentation on how to configure, run and customize Pants v2, and information on how to get help from the Pants community.

Get Started

The protocol buffer compiler (https://developers.google.com/protocol-buffers).

Config section: [protoc]

Basic options

None

Advanced options

--protoc-version=<str>
PANTS_PROTOC_VERSION
version
default: 3.11.4
Use this version of protoc.

--protoc-known-versions="['<str>', '<str>', ...]"
PANTS_PROTOC_KNOWN_VERSIONS
known_versions
default:
[
  "3.11.4|darwin|8c6af11e1058efe953830ecb38324c0e0fd2fb67df3891896d138c535932e7db|2482119",
  "3.11.4|linux |6d0f18cd84b918c7b3edd0203e75569e0c8caecb1367bbbe409b45e28514f5be|1591191"
]

Known versions to verify downloads against.

Each element is a pipe-separated string of version|platform|sha256|length, where:

  • version is the version string
  • platform is one of [darwin,linux],
  • sha256 is the 64-character hex representation of the expected sha256
    digest of the download file, as emitted by shasum -a 256
  • length is the expected length of the download file in bytes

E.g., 3.1.2|darwin|6d0f18cd84b918c7b3edd0203e75569e0c7caecb1367bbbe409b44e28514f5be|42813.

Values are space-stripped, so pipes can be indented for readability if necessary.


--protoc-runtime-targets="[<target_option>, <target_option>, ...]"
PANTS_PROTOC_RUNTIME_TARGETS
runtime_targets
default: []
A list of addresses to targets for Protobuf runtime libraries. For example, a `python_requirement_library` for the `protobuf` Python library. These targets will be automatically injected into the `dependencies` field of every `protobuf_library`.

Deprecated options

None

Updated about a month ago


protoc


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.