Pants v2: The ergonomic build system

Welcome to the Pants v2 documentation hub!

Pants v2 is a fast, scalable, user-friendly 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 Succinct Code Counter, aka `scc` (https://github.com/boyter/scc).

Config section: [scc]

Basic options

args

--scc-args="[<shell_str>, <shell_str>, ...]", ... -- [<shell_str> [<shell_str> [...]]]
PANTS_SCC_ARGS
default: []

Arguments to pass directly to SCC, e.g. `--count-loc-args="--no-cocomo"`. Refer to https://github.com/boyter/scc.


Advanced options

version

--scc-version=<str>
PANTS_SCC_VERSION
default: 2.12.0

Use this version of succinctcodecounter.


known_versions

--scc-known-versions="['<str>', '<str>', ...]"
PANTS_SCC_KNOWN_VERSIONS
default:
[
  "2.12.0|darwin|70b7002cd1e4541cb37b7b9cbc0eeedd13ceacb49628e82ab46332bb2e65a5a6|1842530",
  "2.12.0|linux|8eca3e98fe8a78d417d3779a51724515ac4459760d3ec256295f80954a0da044|1753059"
]

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.


url_template

--scc-url-template=<str>
PANTS_SCC_URL_TEMPLATE
default: https://github.com/boyter/scc/releases/download/v{version}/scc-{version}-x86\_64-{platform}.zip

URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a file:// URL.

Use {version} to have the value from --version substituted, and {platform} to have a value from --url-platform-mapping substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.


url_platform_mapping

--scc-url-platform-mapping="{'key1': val1, 'key2': val2, ...}"
PANTS_SCC_URL_PLATFORM_MAPPING
default:
{
  "darwin": "apple-darwin",
  "linux": "unknown-linux"
}

A dictionary mapping platforms to strings to be used when generating the URL to download the tool.

In --url-template, anytime the {platform} string is used, Pants will determine the current platform, and substitute {platform} with the respective value from your dictionary.

For example, if you define {&quot;darwin&quot;: &quot;apple-darwin&quot;, &quot;linux&quot;: &quot;unknown-linux&quot;}, and run Pants on Linux, then {platform}` will be substituted in the --url-template option with unknown-linux.


Deprecated options

None

Updated about a month ago


scc


Suggested Edits are limited on API Reference Pages

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