Schema URL

Type: object

Pants configuration file schema: https://www.pantsbuild.org/

Properties

GLOBAL object

Options to control the overall behavior of Pants.

91 nested properties
backend_packages array
Default:
[]
build_file_prelude_globs array

Python files to evaluate and whose symbols should be exposed to all BUILD files https://www.pantsbuild.org/v2.14/docs/reference-global#build_file_prelude_globs

Default:
[]
build_ignore array

Path globs or literals to ignore when identifying BUILD files https://www.pantsbuild.org/v2.14/docs/reference-global#build_ignore

Default:
[]
build_patterns array

The naming scheme for BUILD files, i.e. where you define targets https://www.pantsbuild.org/v2.14/docs/reference-global#build_patterns

Default:
[
  "BUILD",
  "BUILD.*"
]
ca_certs_path string

Path to a file containing PEM-format CA certificates used for verifying secure connections when downloading files required by a build https://www.pantsbuild.org/v2.14/docs/reference-global#ca_certs_path

Default: null
cache_content_behavior enum

Controls how the content of cache entries is handled during process execution https://www.pantsbuild.org/v2.14/docs/reference-global#cache_content_behavior

Default: "fetch"
Values: "fetch" "validate" "defer"
colors boolean

Whether Pants should use colors in output or not https://www.pantsbuild.org/v2.14/docs/reference-global#colors

Default: false
concurrent boolean
Default: false
dynamic_ui boolean

Display a dynamically-updating console UI as Pants runs https://www.pantsbuild.org/v2.14/docs/reference-global#dynamic_ui

Default: true
dynamic_ui_renderer enum

If --dynamic-ui is enabled, selects the renderer https://www.pantsbuild.org/v2.14/docs/reference-global#dynamic_ui_renderer

Default: "indicatif-spinner"
Values: "indicatif-spinner" "experimental-prodash"
engine_visualize_to

A directory to write execution and rule graphs to as dot files https://www.pantsbuild.org/v2.14/docs/reference-global#engine_visualize_to

Default: null
ignore_warnings array

Ignore logs and warnings matching these strings https://www.pantsbuild.org/v2.14/docs/reference-global#ignore_warnings

Default:
[]
keep_sandboxes enum

Controls whether Pants will clean up local directories used as chroots for running processes https://www.pantsbuild.org/v2.14/docs/reference-global#keep_sandboxes

Default: "never"
Values: "always" "on_failure" "never"
level enum
Default: "info"
Values: "trace" "debug" "info" "warn" "error"
local_cache boolean

Whether to cache process executions in a local cache persisted to disk at --local-store-dir https://www.pantsbuild.org/v2.14/docs/reference-global#local_cache

Default: true
local_execution_root_dir string

Directory to use for local process execution sandboxing https://www.pantsbuild.org/v2.14/docs/reference-global#local_execution_root_dir

Default: "<tmp_dir>"
local_store_dir string

Directory to use for the local file store, which stores the results of subprocesses run by Pants https://www.pantsbuild.org/v2.14/docs/reference-global#local_store_dir

Default: "$XDG_CACHE_HOME/lmdb_store"
local_store_directories_max_size_bytes number

The maximum size in bytes of the local store containing directories https://www.pantsbuild.org/v2.14/docs/reference-global#local_store_directories_max_size_bytes

Default: 16000000000
local_store_files_max_size_bytes number

The maximum size in bytes of the local store containing files https://www.pantsbuild.org/v2.14/docs/reference-global#local_store_files_max_size_bytes

Default: 256000000000
local_store_processes_max_size_bytes number

The maximum size in bytes of the local store containing process cache entries https://www.pantsbuild.org/v2.14/docs/reference-global#local_store_processes_max_size_bytes

Default: 16000000000
local_store_shard_count number

The number of LMDB shards created for the local store https://www.pantsbuild.org/v2.14/docs/reference-global#local_store_shard_count

Default: 16
log_levels_by_target object

Set a more specific logging level for one or more logging targets https://www.pantsbuild.org/v2.14/docs/reference-global#log_levels_by_target

Default:
{}
log_show_rust_3rdparty boolean

Whether to show/hide logging done by 3rdparty Rust crates used by the Pants engine https://www.pantsbuild.org/v2.14/docs/reference-global#log_show_rust_3rdparty

Default: false
logdir string

Write logs to files under this directory https://www.pantsbuild.org/v2.14/docs/reference-global#logdir

Default: null
loop boolean

Run goals continuously as file changes are detected https://www.pantsbuild.org/v2.14/docs/reference-global#loop

Default: false
loop_max number

The maximum number of times to loop when --loop is specified https://www.pantsbuild.org/v2.14/docs/reference-global#loop_max

Default: 4294967296
named_caches_dir string

Directory to use for named global caches for tools and processes with trusted, concurrency-safe caches https://www.pantsbuild.org/v2.14/docs/reference-global#named_caches_dir

Default: "$XDG_CACHE_HOME/named_caches"
pants_bin_name string

The name of the script or binary used to invoke Pants https://www.pantsbuild.org/v2.14/docs/reference-global#pants_bin_name

Default: "./pants"
pants_config_files array
Default:
[
  "<buildroot>/pants.toml"
]
pants_distdir string

Write end products, such as the results of ./pants package, to this dir https://www.pantsbuild.org/v2.14/docs/reference-global#pants_distdir

Default: "<buildroot>/dist"
pants_ignore array

Paths to ignore for all filesystem operations performed by pants (e.g https://www.pantsbuild.org/v2.14/docs/reference-global#pants_ignore

Default:
[
  ".*/",
  "/dist/",
  "__pycache__"
]
pants_ignore_use_gitignore boolean

Make use of a root .gitignore file when determining whether to ignore filesystem operations performed by Pants https://www.pantsbuild.org/v2.14/docs/reference-global#pants_ignore_use_gitignore

Default: true
pants_physical_workdir_base string

When set, a base directory in which to store --pants-workdir contents https://www.pantsbuild.org/v2.14/docs/reference-global#pants_physical_workdir_base

Default: null
pants_subprocessdir string

The directory to use for tracking subprocess metadata https://www.pantsbuild.org/v2.14/docs/reference-global#pants_subprocessdir

Default: "<buildroot>/.pids"
pants_version string
Default: "<pants_version>"
pants_workdir string

Write intermediate logs and output files to this dir https://www.pantsbuild.org/v2.14/docs/reference-global#pants_workdir

Default: "<buildroot>/.pants.d"
pantsd boolean

Enables use of the Pants daemon (pantsd). pantsd can significantly improve runtime performance by lowering per-run startup cost, and by memoizing filesystem operations and rule execution https://www.pantsbuild.org/v2.14/docs/reference-global#pantsd

Default: true
pantsd_invalidation_globs array

Filesystem events matching any of these globs will trigger a daemon restart https://www.pantsbuild.org/v2.14/docs/reference-global#pantsd_invalidation_globs

Default:
[]
pantsd_max_memory_usage
Default: "1GiB"
pantsd_pailgun_port number
Default: 0
pantsd_timeout_when_multiple_invocations number

The maximum amount of time to wait for the invocation to start until raising a timeout exception https://www.pantsbuild.org/v2.14/docs/reference-global#pantsd_timeout_when_multiple_invocations

Default: 60.0
pantsrc boolean

Use pantsrc files located at the paths specified in the global option pantsrc_files https://www.pantsbuild.org/v2.14/docs/reference-global#pantsrc

Default: true
pantsrc_files array

Override config with values from these files, using syntax matching that of --pants-config-files https://www.pantsbuild.org/v2.14/docs/reference-global#pantsrc_files

Default:
[
  "/etc/pantsrc",
  "~/.pants.rc",
  ".pants.rc"
]
plugins array

Allow backends to be loaded from these plugins (usually released through PyPI). The default backends for each plugin will be loaded automatically https://www.pantsbuild.org/v2.14/docs/reference-global#plugins

Default:
[]
plugins_force_resolve boolean
Default: false
print_stacktrace boolean

Print the full exception stack trace for any errors https://www.pantsbuild.org/v2.14/docs/reference-global#print_stacktrace

Default: false
process_cleanup boolean

If false, Pants will not clean up local directories used as chroots for running processes https://www.pantsbuild.org/v2.14/docs/reference-global#process_cleanup

Default: true
process_execution_cache_namespace string
Default: null
process_execution_graceful_shutdown_timeout number

The time in seconds to wait when gracefully shutting down an interactive process (such as one opened using ./pants run) before killing it https://www.pantsbuild.org/v2.14/docs/reference-global#process_execution_graceful_shutdown_timeout

Default: 3
process_execution_local_enable_nailgun boolean

Whether or not to use nailgun to run JVM requests that are marked as supporting nailgun https://www.pantsbuild.org/v2.14/docs/reference-global#process_execution_local_enable_nailgun

Default: true
process_execution_local_parallelism number

Number of concurrent processes that may be executed locally https://www.pantsbuild.org/v2.14/docs/reference-global#process_execution_local_parallelism

Default: "#cores"
process_execution_remote_parallelism number

Number of concurrent processes that may be executed remotely https://www.pantsbuild.org/v2.14/docs/reference-global#process_execution_remote_parallelism

Default: 128
process_per_child_memory_usage

The default memory usage for a single "pooled" child process https://www.pantsbuild.org/v2.14/docs/reference-global#process_per_child_memory_usage

Default: "512MiB"
process_total_child_memory_usage

The maximum memory usage for all "pooled" child processes https://www.pantsbuild.org/v2.14/docs/reference-global#process_total_child_memory_usage

Default: null
pythonpath array

Add these directories to PYTHONPATH to search for plugins https://www.pantsbuild.org/v2.14/docs/reference-global#pythonpath

Default:
[]
remote_auth_plugin string

Path to a plugin to dynamically configure remote caching and execution options https://www.pantsbuild.org/v2.14/docs/reference-global#remote_auth_plugin

Default: null
remote_ca_certs_path string

Path to a PEM file containing CA certificates used for verifying secure connections to [GLOBAL].remote_execution_address and [GLOBAL].remote_store_address https://www.pantsbuild.org/v2.14/docs/reference-global#remote_ca_certs_path

Default: null
remote_cache_read boolean
Default: false
remote_cache_read_timeout_millis number
Default: 1500
remote_cache_rpc_concurrency number

The number of concurrent requests allowed to the remote cache service https://www.pantsbuild.org/v2.14/docs/reference-global#remote_cache_rpc_concurrency

Default: 128
remote_cache_warnings enum

How frequently to log remote cache failures at the warn log level https://www.pantsbuild.org/v2.14/docs/reference-global#remote_cache_warnings

Default: "backoff"
Values: "ignore" "first_only" "backoff"
remote_cache_write boolean

Whether to enable writing results to a remote cache https://www.pantsbuild.org/v2.14/docs/reference-global#remote_cache_write

Default: false
remote_execution boolean

Enables remote workers for increased parallelism. (Alpha) https://www.pantsbuild.org/v2.14/docs/reference-global#remote_execution

Default: false
remote_execution_address string

The URI of a server used as a remote execution scheduler https://www.pantsbuild.org/v2.14/docs/reference-global#remote_execution_address

Default: null
remote_execution_extra_platform_properties array
Default:
[]
remote_execution_headers object
Default: "{'user-agent': 'pants/<pants_version>'}"
remote_execution_overall_deadline_secs number

Overall timeout in seconds for each remote execution request from time of submission https://www.pantsbuild.org/v2.14/docs/reference-global#remote_execution_overall_deadline_secs

Default: 3600
remote_execution_rpc_concurrency number

The number of concurrent requests allowed to the remote execution service https://www.pantsbuild.org/v2.14/docs/reference-global#remote_execution_rpc_concurrency

Default: 128
remote_instance_name string

Name of the remote instance to use by remote caching and remote execution https://www.pantsbuild.org/v2.14/docs/reference-global#remote_instance_name

Default: null
remote_oauth_bearer_token_path string

Path to a file containing an oauth token to use for gGRPC connections to [GLOBAL].remote_execution_address and [GLOBAL].remote_store_address https://www.pantsbuild.org/v2.14/docs/reference-global#remote_oauth_bearer_token_path

Default: null
remote_store_address string

The URI of a server used for the remote file store https://www.pantsbuild.org/v2.14/docs/reference-global#remote_store_address

Default: null
remote_store_batch_api_size_limit number

The maximum total size of blobs allowed to be sent in a single batch API call to the remote store https://www.pantsbuild.org/v2.14/docs/reference-global#remote_store_batch_api_size_limit

Default: 4194304
remote_store_chunk_bytes number

Size in bytes of chunks transferred to/from the remote file store https://www.pantsbuild.org/v2.14/docs/reference-global#remote_store_chunk_bytes

Default: 1048576
remote_store_chunk_upload_timeout_seconds number

Timeout (in seconds) for uploads of individual chunks to the remote file store https://www.pantsbuild.org/v2.14/docs/reference-global#remote_store_chunk_upload_timeout_seconds

Default: 60
remote_store_headers object
Default: "{'user-agent': 'pants/<pants_version>'}"
remote_store_rpc_concurrency number

The number of concurrent requests allowed to the remote store service https://www.pantsbuild.org/v2.14/docs/reference-global#remote_store_rpc_concurrency

Default: 128
remote_store_rpc_retries number

Number of times to retry any RPC to the remote store before giving up https://www.pantsbuild.org/v2.14/docs/reference-global#remote_store_rpc_retries

Default: 2
rule_threads_core number

The number of threads to keep active and ready to execute @rule logic (see also: --rule-threads-max) https://www.pantsbuild.org/v2.14/docs/reference-global#rule_threads_core

Default: "max(2, #cores/2)"
rule_threads_max number

The maximum number of threads to use to execute @rule logic https://www.pantsbuild.org/v2.14/docs/reference-global#rule_threads_max

Default: null
show_log_target boolean

Display the target where a log message originates in that log message's output https://www.pantsbuild.org/v2.14/docs/reference-global#show_log_target

Default: false
spec_files array

Read additional specs (target addresses, files, and/or globs), one per line, from these files https://www.pantsbuild.org/v2.14/docs/reference-global#spec_files

Default:
[]
stats_record_option_scopes array
Default:
[
  "*"
]
streaming_workunits_complete_async boolean

True if stats recording should be allowed to complete asynchronously when pantsd is enabled https://www.pantsbuild.org/v2.14/docs/reference-global#streaming_workunits_complete_async

Default: true
streaming_workunits_level enum

The level of workunits that will be reported to streaming workunit event receivers https://www.pantsbuild.org/v2.14/docs/reference-global#streaming_workunits_level

Default: "debug"
Values: "trace" "debug" "info" "warn" "error"
streaming_workunits_report_interval number

Interval in seconds between when streaming workunit event receivers will be polled https://www.pantsbuild.org/v2.14/docs/reference-global#streaming_workunits_report_interval

Default: 1.0
subproject_roots array

Paths that correspond with build roots for any subproject that this project depends on https://www.pantsbuild.org/v2.14/docs/reference-global#subproject_roots

Default:
[]
tag array

Include only targets with these tags (optional '+' prefix) or without these tags ('-' prefix) https://www.pantsbuild.org/v2.14/docs/reference-global#tag

Default:
[]
unmatched_build_file_globs enum

What to do when files and globs specified in BUILD files, such as in the sources field, cannot be found https://www.pantsbuild.org/v2.14/docs/reference-global#unmatched_build_file_globs

Default: "warn"
Values: "warn" "error"
unmatched_cli_globs enum

What to do when command line arguments, e.g. files and globs like dir::, cannot be found https://www.pantsbuild.org/v2.14/docs/reference-global#unmatched_cli_globs

Default: "error"
Values: "ignore" "warn" "error"
verify_config boolean

Verify that all config file values correspond to known options https://www.pantsbuild.org/v2.14/docs/reference-global#verify_config

Default: true
watch_filesystem boolean

Set to False if Pants should not watch the filesystem for changes. pantsd or loop may not be enabled https://www.pantsbuild.org/v2.14/docs/reference-global#watch_filesystem

Default: true
anonymous-telemetry object

Options related to sending anonymous stats to the Pants project, to aid development.

2 nested properties
enabled boolean

Whether to send anonymous telemetry to the Pants project https://www.pantsbuild.org/v2.14/docs/reference-anonymous-telemetry#enabled

Default: false
repo_id string
Default: null
auth object

Set up for authenticating with Toolchain.

6 nested properties
auth_file string

Path (relative to the repo root) at which to store and read the auth token https://www.pantsbuild.org/v2.14/docs/reference-auth#auth_file

Default: ".pants.d/toolchain_auth/auth_token.json"
ci_env_variables array

Environment variables in CI used to identify the build (used for restricted tokens) https://www.pantsbuild.org/v2.14/docs/reference-auth#ci_env_variables

Default:
[]
from_env_var string

Load the access token from this environment variable https://www.pantsbuild.org/v2.14/docs/reference-auth#from_env_var

Default: null
org string

Organization slug for public repo PRs https://www.pantsbuild.org/v2.14/docs/reference-auth#org

Default: null
restricted_token_matches object

A mapping of environment variable name to a regex that must match that variable's value in order for the plugin to request a restricted access token https://www.pantsbuild.org/v2.14/docs/reference-auth#restricted_token_matches

Default:
{}
token_expiration_threshold number

Threshold (in minutes) for token TTL before plugin asks for a new token https://www.pantsbuild.org/v2.14/docs/reference-auth#token_expiration_threshold

Default: 30
auth-acquire object

Acquire access tokens for the Toolchain service.

7 nested properties
description string
Default: null
for_ci boolean

Generate a token with impersonation permissions that can be used in CI. Limited to org owners/admins https://www.pantsbuild.org/v2.14/docs/reference-auth-acquire#for_ci

Default: false
headless boolean

Don't open a browser when acquiring the access token https://www.pantsbuild.org/v2.14/docs/reference-auth-acquire#headless

Default: false
local_port number
Default: null
output enum
Default: "file"
Values: "file" "console"
remote_execution boolean

[Limited Beta] Asks for a token with remote execution permissions https://www.pantsbuild.org/v2.14/docs/reference-auth-acquire#remote_execution

Default: false
test_page enum

Helper to test success and error pages without triggering the auth flow https://www.pantsbuild.org/v2.14/docs/reference-auth-acquire#test_page

Default: "na"
Values: "na" "success" "error"
auth-token-check object

Check if the Toolchain auth token has expired or if it is about to expire

1 nested properties
threshold number

Threshold in days to fail the check before the token expiration https://www.pantsbuild.org/v2.14/docs/reference-auth-token-check#threshold

Default: 14
auth-token-info object

Show information about the current auth token used to access the Toolchain service

2 nested properties
json boolean

Show JWT claims in JSON format (implies verbose) https://www.pantsbuild.org/v2.14/docs/reference-auth-token-info#json

Default: false
verbose boolean

Show all JWT claims for the current auth token https://www.pantsbuild.org/v2.14/docs/reference-auth-token-info#verbose

Default: false
autoflake object

The Autoflake Python code formatter (https://github.com/myint/autoflake).

9 nested properties
args array

Arguments to pass directly to Autoflake, e.g. --autoflake-args='--remove-all-unused-imports --target-version=py37 --quiet' https://www.pantsbuild.org/v2.14/docs/reference-autoflake#args

Default:
[
  "--remove-all-unused-imports"
]
console_script string
Default: "autoflake"
entry_point string
Default: null
export boolean

If true, export a virtual environment with Autoflake when running ./pants export https://www.pantsbuild.org/v2.14/docs/reference-autoflake#export

Default: true
extra_requirements array

Any additional requirement strings to use with the tool https://www.pantsbuild.org/v2.14/docs/reference-autoflake#extra_requirements

Default:
[]
interpreter_constraints array
Default:
[
  "CPython>=3.7,<4"
]
lockfile string

Path to a lockfile used for installing the tool https://www.pantsbuild.org/v2.14/docs/reference-autoflake#lockfile

Default: "<default>"
skip boolean

If true, don't use Autoflake when running ./pants fmt and ./pants lint https://www.pantsbuild.org/v2.14/docs/reference-autoflake#skip

Default: false
version string
Default: "autoflake==1.4"
black object

The Black Python code formatter (https://black.readthedocs.io/).

11 nested properties
args array

Arguments to pass directly to Black, e.g. --black-args='--target-version=py37 --quiet' https://www.pantsbuild.org/v2.14/docs/reference-black#args

Default:
[]
config

Path to a TOML config file understood by Black (https://github.com/psf/black#configuration-format) https://www.pantsbuild.org/v2.14/docs/reference-black#config

Default: null
config_discovery boolean

If true, Pants will include any relevant pyproject.toml config files during runs https://www.pantsbuild.org/v2.14/docs/reference-black#config_discovery

Default: true
console_script string
Default: "black"
entry_point string
Default: null
export boolean

If true, export a virtual environment with Black when running ./pants export https://www.pantsbuild.org/v2.14/docs/reference-black#export

Default: true
extra_requirements array

Any additional requirement strings to use with the tool https://www.pantsbuild.org/v2.14/docs/reference-black#extra_requirements

Default:
[
  "typing-extensions>=3.10.0.0; python_version < \"3.10\""
]
interpreter_constraints array
Default:
[
  "CPython>=3.7,<4"
]
lockfile string

Path to a lockfile used for installing the tool https://www.pantsbuild.org/v2.14/docs/reference-black#lockfile

Default: "<default>"
skip boolean

If true, don't use Black when running ./pants fmt and ./pants lint https://www.pantsbuild.org/v2.14/docs/reference-black#skip

Default: false
version string
Default: "black==22.6.0"
buildsense object

Configuration for Toolchain's BuildSense reporting.

12 nested properties
ci_env_scrub_terms array

patterns for environment variables to exclude from uploaded CI env variables https://www.pantsbuild.org/v2.14/docs/reference-buildsense#ci_env_scrub_terms

Default:
[
  "ACCESS",
  "TOKEN",
  "SECRET",
  "JWT"
]
ci_env_var_pattern string
Default: null
collect_platform_data boolean

Should BuildSense collect and upload platform platform information (os version, platform architecture, python version, etc...) https://www.pantsbuild.org/v2.14/docs/reference-buildsense#collect_platform_data

Default: false
dry_run boolean

Go thru the motions w/o making network calls https://www.pantsbuild.org/v2.14/docs/reference-buildsense#dry_run

Default: false
enable boolean
Default: true
local_build_store boolean
Default: true
local_store_base string

Base directory for storing buildsense data locally https://www.pantsbuild.org/v2.14/docs/reference-buildsense#local_store_base

Default: ".pants.d/toolchain/buildsense/"
log_final_upload_latency boolean

Should BuildSense log the time it took to upload data at the end of the run https://www.pantsbuild.org/v2.14/docs/reference-buildsense#log_final_upload_latency

Default: false
log_upload boolean
Default: true
max_batch_size_mb number

Maximum batch size to try and upload (uncompressed) https://www.pantsbuild.org/v2.14/docs/reference-buildsense#max_batch_size_mb

Default: 20
show_link boolean

Show link to the pants run in BuildSense Web UI https://www.pantsbuild.org/v2.14/docs/reference-buildsense#show_link

Default: true
timeout number

Wait at most this many seconds for network calls to complete https://www.pantsbuild.org/v2.14/docs/reference-buildsense#timeout

Default: 10
changed object

Tell Pants to detect what files and targets have changed from Git.

See https://www.pantsbuild.org/v2.14/docs/advanced-target-selection.

3 nested properties
dependees enum

Include direct or transitive dependees of changed targets https://www.pantsbuild.org/v2.14/docs/reference-changed#dependees

Default: "none"
Values: "none" "direct" "transitive"
diffspec string

Calculate changes contained within a given Git spec (commit range/SHA/ref) https://www.pantsbuild.org/v2.14/docs/reference-changed#diffspec

Default: null
since string

Calculate changes since this Git spec (commit range/SHA/ref) https://www.pantsbuild.org/v2.14/docs/reference-changed#since

Default: null
check object

Run type checking or the lightest variant of compilation available for a language.

1 nested properties
only array

Only run these checkerss and skip all others https://www.pantsbuild.org/v2.14/docs/reference-check#only

Default:
[]
check-default-tools object

Options for checking that external tool default locations are correctly typed.

cli object

Options for configuring CLI behavior, such as command line aliases.

1 nested properties
alias object
Default:
{}
count-loc object

Count lines of code.

coursier object

A dependency resolver for the Maven ecosystem. (https://get-coursier.io/)

6 nested properties
known_versions array
Default:
[
  "v2.1.0-M5-18-gfebf9838c|linux_arm64 |d4ad15ba711228041ad8a46d848c83c8fbc421d7b01c415d8022074dd609760f|19264005",
  "v2.1.0-M5-18-gfebf9838c|linux_x86_64|3e1a1ad1010d5582e9e43c5a26b273b0147baee5ebd27d3ac1ab61964041c90b|19551533",
  "v2.1.0-M5-18-gfebf9838c|macos_arm64 |d13812c5a5ef4c9b3e25cc046d18addd09bacd149f95b20a14e4d2a73e358ecf|18826510",
  "v2.1.0-M5-18-gfebf9838c|macos_x86_64|d13812c5a5ef4c9b3e25cc046d18addd09bacd149f95b20a14e4d2a73e358ecf|18826510",
  "v2.0.16-169-g194ebc55c|linux_arm64 |da38c97d55967505b8454c20a90370c518044829398b9bce8b637d194d79abb3|18114472",
  "v2.0.16-169-g194ebc55c|linux_x86_64|4c61a634c4bd2773b4543fe0fc32210afd343692891121cddb447204b48672e8|18486946",
  "v2.0.16-169-g194ebc55c|macos_arm64 |15bce235d223ef1d022da30b67b4c64e9228d236b876c834b64e029bbe824c6f|17957182",
  "v2.0.16-169-g194ebc55c|macos_x86_64|15bce235d223ef1d022da30b67b4c64e9228d236b876c834b64e029bbe824c6f|17957182"
]
repos array

Maven style repositories to resolve artifacts from https://www.pantsbuild.org/v2.14/docs/reference-coursier#repos

Default:
[
  "https://maven-central.storage-download.googleapis.com/maven2",
  "https://repo1.maven.org/maven2"
]
url_platform_mapping object

A dictionary mapping platforms to strings to be used when generating the URL to download the tool https://www.pantsbuild.org/v2.14/docs/reference-coursier#url_platform_mapping

Default:
{
  "linux_arm64": "aarch64-pc-linux",
  "linux_x86_64": "x86_64-pc-linux",
  "macos_arm64": "x86_64-apple-darwin",
  "macos_x86_64": "x86_64-apple-darwin"
}
url_template string

URL to download the tool, either as a single binary file or a compressed file (e.g. zip file) https://www.pantsbuild.org/v2.14/docs/reference-coursier#url_template

Default: "https://github.com/coursier/coursier/releases/download/{version}/cs-{platform}.gz"
use_unsupported_version enum

What action to take in case the requested version of coursier is not supported https://www.pantsbuild.org/v2.14/docs/reference-coursier#use_unsupported_version

Default: "error"
Values: "error" "warning"
version string
Default: "v2.1.0-M5-18-gfebf9838c"
coverage-py object

Configuration for Python test coverage measurement.

13 nested properties
config

Path to an INI or TOML config file understood by coverage.py (https://coverage.readthedocs.io/en/stable/config.html) https://www.pantsbuild.org/v2.14/docs/reference-coverage-py#config

Default: null
config_discovery boolean

If true, Pants will include any relevant config files during runs (.coveragerc, setup.cfg, tox.ini, and pyproject.toml) https://www.pantsbuild.org/v2.14/docs/reference-coverage-py#config_discovery

Default: true
console_script string
Default: "coverage"
entry_point string
Default: null
extra_requirements array

Any additional requirement strings to use with the tool https://www.pantsbuild.org/v2.14/docs/reference-coverage-py#extra_requirements

Default:
[]
fail_under number

Fail if the total combined coverage percentage for all tests is less than this number https://www.pantsbuild.org/v2.14/docs/reference-coverage-py#fail_under

Default: null
filter array

A list of Python modules or filesystem paths to use in the coverage report, e.g. `['helloworld_test', 'helloworld/util/dirutil'] https://www.pantsbuild.org/v2.14/docs/reference-coverage-py#filter

Default:
[]
global_report boolean

If true, Pants will generate a global coverage report https://www.pantsbuild.org/v2.14/docs/reference-coverage-py#global_report

Default: false
interpreter_constraints array
Default:
[
  "CPython>=3.7,<4"
]
lockfile string

Path to a lockfile used for installing the tool https://www.pantsbuild.org/v2.14/docs/reference-coverage-py#lockfile

Default: "<default>"
output_dir string
Default: "{distdir}/coverage/python"
report enum[]
Default:
[
  "console"
]
version string
Default: "coverage[toml]>=5.5,<5.6"
debug-adapter object

Options used to configure and launch a Debug Adapter server.

See https://microsoft.github.io/debug-adapter-protocol/ for more information.

2 nested properties
host string

The hostname to use when launching the server https://www.pantsbuild.org/v2.14/docs/reference-debug-adapter#host

Default: "127.0.0.1"
port number
Default: 5678
debugpy object

An implementation of the Debug Adapter Protocol for Python (https://github.com/microsoft/debugpy).

7 nested properties
args array

Arguments to pass directly to debugpy, e.g. --debugpy-args='--log-to-stderr' https://www.pantsbuild.org/v2.14/docs/reference-debugpy#args

Default:
[]
console_script string
Default: null
entry_point string
Default: "debugpy"
extra_requirements array

Any additional requirement strings to use with the tool https://www.pantsbuild.org/v2.14/docs/reference-debugpy#extra_requirements

Default:
[]
interpreter_constraints array
Default:
[
  "CPython>=3.7,<3.11"
]
lockfile string

Path to a lockfile used for installing the tool https://www.pantsbuild.org/v2.14/docs/reference-debugpy#lockfile

Default: "<default>"
version string
Default: "debugpy==1.6.0"
dependees object

List all targets that depend on any of the input files/targets.

4 nested properties
closed boolean

Include the input targets in the output, along with the dependees https://www.pantsbuild.org/v2.14/docs/reference-dependees#closed

Default: false
output_file string
Default: null
sep string

String to use to separate lines in line-oriented output https://www.pantsbuild.org/v2.14/docs/reference-dependees#sep

Default: "\n"
transitive boolean
Default: false
dependencies object

List the dependencies of the input files/targets.

4 nested properties
closed boolean

Include the input targets in the output, along with the dependencies https://www.pantsbuild.org/v2.14/docs/reference-dependencies#closed

Default: false
output_file string
Default: null
sep string

String to use to separate lines in line-oriented output https://www.pantsbuild.org/v2.14/docs/reference-dependencies#sep

Default: "\n"
transitive boolean
Default: false
docformatter object

The Python docformatter tool (https://github.com/myint/docformatter).

9 nested properties
args array

Arguments to pass directly to docformatter, e.g. --docformatter-args='--wrap-summaries=100 --pre-summary-newline' https://www.pantsbuild.org/v2.14/docs/reference-docformatter#args

Default:
[]
console_script string
Default: "docformatter"
entry_point string
Default: null
export boolean

If true, export a virtual environment with docformatter when running ./pants export https://www.pantsbuild.org/v2.14/docs/reference-docformatter#export

Default: true
extra_requirements array

Any additional requirement strings to use with the tool https://www.pantsbuild.org/v2.14/docs/reference-docformatter#extra_requirements

Default:
[]
interpreter_constraints array
Default:
[
  "CPython>=3.7,<4"
]
lockfile string

Path to a lockfile used for installing the tool https://www.pantsbuild.org/v2.14/docs/reference-docformatter#lockfile

Default: "<default>"
skip boolean

If true, don't use docformatter when running ./pants fmt and ./pants lint https://www.pantsbuild.org/v2.14/docs/reference-docformatter#skip

Default: false
version string
Default: "docformatter>=1.4,<1.5"
docker object

Options for interacting with Docker.

11 nested properties
build_args array

Global build arguments (for Docker --build-arg options) to use for all docker build invocations https://www.pantsbuild.org/v2.14/docs/reference-docker#build_args

Default:
[]
build_target_stage string

Global default value for target_stage on docker_image targets, overriding the field value on the targets, if there is a matching stage in the Dockerfile https://www.pantsbuild.org/v2.14/docs/reference-docker#build_target_stage

Default: null
build_verbose boolean

Whether to log the Docker output to the console https://www.pantsbuild.org/v2.14/docs/reference-docker#build_verbose

Default: false
default_context_root

Provide a default Docker build context root path for docker_image targets that does not specify their own context_root field https://www.pantsbuild.org/v2.14/docs/reference-docker#default_context_root

Default: ""
default_repository string

Configure the default repository name used in the Docker image tag https://www.pantsbuild.org/v2.14/docs/reference-docker#default_repository

Default: "{name}"
env_vars array

Environment variables to set for docker invocations https://www.pantsbuild.org/v2.14/docs/reference-docker#env_vars

Default:
[]
executable_search_paths array

The PATH value that will be used to find the Docker client and any tools required https://www.pantsbuild.org/v2.14/docs/reference-docker#executable_search_paths

Default:
[
  "<PATH>"
]
registries object | string
Default:
{}
run_args array

Additional arguments to use for docker run invocations https://www.pantsbuild.org/v2.14/docs/reference-docker#run_args

Default:
[]
tailor boolean

If true, add docker_image targets with the tailor goal https://www.pantsbuild.org/v2.14/docs/reference-docker#tailor

Default: true
tools array

List any additional executable tools required for Docker to work https://www.pantsbuild.org/v2.14/docs/reference-docker#tools

Default:
[]
dockerfile-parser object

Used to parse Dockerfile build specs to infer their dependencies.

4 nested properties
extra_requirements array

Any additional requirement strings to use with the tool https://www.pantsbuild.org/v2.14/docs/reference-dockerfile-parser#extra_requirements

Default:
[]
interpreter_constraints array
Default:
[
  "CPython>=3.7,<4"
]
lockfile string
Default: "<default>"
version string
Default: "dockerfile==3.2.0"
experimental-bsp object

Setup repository for Build Server Protocol (https://build-server-protocol.github.io/).

3 nested properties
groups_config_files array

A list of config files that define groups of Pants targets to expose to IDEs via Build Server Protocol https://www.pantsbuild.org/v2.14/docs/reference-experimental-bsp#groups_config_files

Default:
[]
runner_env_vars array

Environment variables to set in the BSP runner script when setting up BSP in a repository https://www.pantsbuild.org/v2.14/docs/reference-experimental-bsp#runner_env_vars

Default:
[
  "PATH"
]
server boolean
Default: false
experimental-deploy object

Perform a deployment process.

experimental-explorer object

Run the Pants Explorer Web UI server.

2 nested properties
address string
Default: "localhost"
port number
Default: 8000
export object

Export Pants data for use in other tools, such as IDEs.

export-codegen object

Write generated files to dist/codegen for use outside of Pants.

filedeps object

List all source and BUILD files a target depends on.

5 nested properties
absolute boolean
Default: false
globs boolean

Instead of outputting filenames, output the original globs used in the BUILD file https://www.pantsbuild.org/v2.14/docs/reference-filedeps#globs

Default: false
output_file string
Default: null
sep string

String to use to separate lines in line-oriented output https://www.pantsbuild.org/v2.14/docs/reference-filedeps#sep

Default: "\n"
transitive boolean

If True, list files from all dependencies, including transitive dependencies https://www.pantsbuild.org/v2.14/docs/reference-filedeps#transitive

Default: false
filter object

Filter the input targets based on various criteria.

Most of the filtering options below are comma-separated lists of filtering criteria, with an implied logical OR between them, so that a target passes the filter if it matches any of the criteria in the list. A '-' prefix inverts the sense of the entire comma-separated list, so that a target passes the filter only if it matches none of the criteria in the list.

Each of the filtering options may be specified multiple times, with an implied logical AND between them.

6 nested properties
address_regex array

Filter on target addresses matching these regexes https://www.pantsbuild.org/v2.14/docs/reference-filter#address_regex

Default:
[]
granularity enum

Filter to rendering only targets declared in BUILD files, only file-level targets, or all targets https://www.pantsbuild.org/v2.14/docs/reference-filter#granularity

Default: "all"
Values: "all" "file" "BUILD"
output_file string
Default: null
sep string

String to use to separate lines in line-oriented output https://www.pantsbuild.org/v2.14/docs/reference-filter#sep

Default: "\n"
tag_regex array

Filter on targets with tags matching these regexes https://www.pantsbuild.org/v2.14/docs/reference-filter#tag_regex

Default:
[]
target_type array

Filter on these target types, e.g. resources or python_sources https://www.pantsbuild.org/v2.14/docs/reference-filter#target_type

Default:
[]
flake8 object

The Flake8 Python linter (https://flake8.pycqa.org/).

12 nested properties
args array

Arguments to pass directly to Flake8, e.g. --flake8-args='--ignore E123,W456 --enable-extensions H111' https://www.pantsbuild.org/v2.14/docs/reference-flake8#args

Default:
[]
config

Path to an INI config file understood by Flake8 (https://flake8.pycqa.org/en/latest/user/configuration.html) https://www.pantsbuild.org/v2.14/docs/reference-flake8#config

Default: null
config_discovery boolean

If true, Pants will include any relevant config files during runs (.flake8, flake8, setup.cfg, and tox.ini) https://www.pantsbuild.org/v2.14/docs/reference-flake8#config_discovery

Default: true
console_script string
Default: "flake8"
entry_point string
Default: null
export boolean

If true, export a virtual environment with Flake8 when running ./pants export https://www.pantsbuild.org/v2.14/docs/reference-flake8#export

Default: true
extra_files array

Paths to extra files to include in the sandbox https://www.pantsbuild.org/v2.14/docs/reference-flake8#extra_files

Default:
[]
extra_requirements array

Any additional requirement strings to use with the tool https://www.pantsbuild.org/v2.14/docs/reference-flake8#extra_requirements

Default:
[]
lockfile string

Path to a lockfile used for installing the tool https://www.pantsbuild.org/v2.14/docs/reference-flake8#lockfile

Default: "<default>"
skip boolean

If true, don't use Flake8 when running ./pants lint https://www.pantsbuild.org/v2.14/docs/reference-flake8#skip

Default: false
source_plugins array

An optional list of python_sources target addresses to load first-party plugins https://www.pantsbuild.org/v2.14/docs/reference-flake8#source_plugins

Default:
[]
version string
Default: "flake8>=3.9.2,<4.0"
fmt object

Autoformat source code.

2 nested properties
batch_size number

The target number of files to be included in each formatter batch https://www.pantsbuild.org/v2.14/docs/reference-fmt#batch_size

Default: 128
only array

Only run these formatters and skip all others https://www.pantsbuild.org/v2.14/docs/reference-fmt#only

Default:
[]
generate-lockfiles object

Generate lockfiles for Python third-party dependencies.

2 nested properties
custom_command string

If set, lockfile headers will say to run this command to regenerate the lockfile, rather than running ./pants generate-lockfiles --resolve=<name> like normal https://www.pantsbuild.org/v2.14/docs/reference-generate-lockfiles#custom_command

Default: null
resolve array

Only generate lockfiles for the specified resolve(s) https://www.pantsbuild.org/v2.14/docs/reference-generate-lockfiles#resolve

Default:
[]
go-test object

Options for Go tests.

3 nested properties
args array

Arguments to pass directly to Go test binary, e.g. --go-test-args='-run TestFoo -v' https://www.pantsbuild.org/v2.14/docs/reference-go-test#args

Default:
[]
cover_mode enum

Coverage mode to use when running Go tests with coverage analysis enabled via --test-use-coverage https://www.pantsbuild.org/v2.14/docs/reference-go-test#cover_mode

Default: "set"
Values: "set" "count" "atomic"
coverage_output_dir string
Default: "{distdir}/coverage/go/{import_path_escaped}"
gofmt object

Gofmt-specific options.

1 nested properties
skip boolean

If true, don't use gofmt when running ./pants fmt and ./pants lint https://www.pantsbuild.org/v2.14/docs/reference-gofmt#skip

Default: false
golang object

Options for Golang support.

8 nested properties
asdf_bin_relpath string

The path relative to an ASDF install directory to use to find the bin directory within an installed Go distribution https://www.pantsbuild.org/v2.14/docs/reference-golang#asdf_bin_relpath

Default: "bin"
asdf_tool_name string

The ASDF tool name to use when searching for installed Go distributions using the ASDF tool manager (https://asdf-vm.com/) https://www.pantsbuild.org/v2.14/docs/reference-golang#asdf_tool_name

Default: "go-sdk"
go_search_paths array
Default:
[
  "<PATH>"
]
minimum_expected_version string

The minimum Go version the distribution discovered by Pants must support https://www.pantsbuild.org/v2.14/docs/reference-golang#minimum_expected_version

Default: "1.17"
subprocess_env_vars array

Environment variables to set when invoking the go tool https://www.pantsbuild.org/v2.14/docs/reference-golang#subprocess_env_vars

Default:
[
  "LANG",
  "LC_CTYPE",
  "LC_ALL",
  "PATH"
]
tailor_binary_targets boolean

If true, add a go_binary target with the tailor goal in every directory with a .go file with package main https://www.pantsbuild.org/v2.14/docs/reference-golang#tailor_binary_targets

Default: true
tailor_go_mod_targets boolean

If true, add a go_mod target with the tailor goal wherever there is a go.mod file https://www.pantsbuild.org/v2.14/docs/reference-golang#tailor_go_mod_targets

Default: true
tailor_package_targets boolean

If true, add a go_package target with the tailor goal in every directory with a .go file https://www.pantsbuild.org/v2.14/docs/reference-golang#tailor_package_targets

Default: true
google-java-format object

Google Java Format (https://github.com/google/google-java-format)

6 nested properties
aosp boolean

Use AOSP style instead of Google Style (4-space indentation). ("AOSP" is the Android Open Source Project.) https://www.pantsbuild.org/v2.14/docs/reference-google-java-format#aosp

Default: false
artifacts array

Artifact requirements for this tool using specified as either the address of a jvm_artifact target or, alternatively, as a colon-separated Maven coordinates (e.g., group:name:version) https://www.pantsbuild.org/v2.14/docs/reference-google-java-format#artifacts

Default:
[
  "com.google.googlejavaformat:google-java-format:{version}"
]
jvm_options array

List of JVM options to pass to google-java-format JVM processes https://www.pantsbuild.org/v2.14/docs/reference-google-java-format#jvm_options

Default:
[]
lockfile string
Default: "<default>"
skip boolean

If true, don't use Google Java Format when running ./pants fmt and ./pants lint https://www.pantsbuild.org/v2.14/docs/reference-google-java-format#skip

Default: false
version string
Default: "1.13.0"
graphql object

Options for the explorer GraphQL API.

1 nested properties
open_graphiql boolean
Default: false
hadolint object

A linter for Dockerfiles.

9 nested properties
args array

Arguments to pass directly to Hadolint, e.g. --hadolint-args='--format json' https://www.pantsbuild.org/v2.14/docs/reference-hadolint#args

Default:
[]
config

Path to an YAML config file understood by Hadolint (https://github.com/hadolint/hadolint#configure) https://www.pantsbuild.org/v2.14/docs/reference-hadolint#config

Default: null
config_discovery boolean

If true, Pants will include all relevant config files during runs (.hadolint.yaml and .hadolint.yml) https://www.pantsbuild.org/v2.14/docs/reference-hadolint#config_discovery

Default: true
known_versions array
Default:
[
  "v2.10.0|macos_x86_64|59f0523069a857ae918b8ac0774230013f7bcc00c1ea28119c2311353120867a|2514960",
  "v2.10.0|macos_arm64 |59f0523069a857ae918b8ac0774230013f7bcc00c1ea28119c2311353120867a|2514960",
  "v2.10.0|linux_x86_64|8ee6ff537341681f9e91bae2d5da451b15c575691e33980893732d866d3cefc4|2301804",
  "v2.10.0|linux_arm64 |b53d5ab10707a585c9e72375d51b7357522300b5329cfa3f91e482687176e128|27954520"
]
skip boolean

If true, don't use Hadolint when running ./pants lint https://www.pantsbuild.org/v2.14/docs/reference-hadolint#skip

Default: false
url_platform_mapping object

A dictionary mapping platforms to strings to be used when generating the URL to download the tool https://www.pantsbuild.org/v2.14/docs/reference-hadolint#url_platform_mapping

Default:
{
  "linux_arm64": "Linux-arm64",
  "linux_x86_64": "Linux-x86_64",
  "macos_arm64": "Darwin-x86_64",
  "macos_x86_64": "Darwin-x86_64"
}
url_template string

URL to download the tool, either as a single binary file or a compressed file (e.g. zip file) https://www.pantsbuild.org/v2.14/docs/reference-hadolint#url_template

Default: "https://github.com/hadolint/hadolint/releases/download/{version}/hadolint-{platform}"
use_unsupported_version enum

What action to take in case the requested version of Hadolint is not supported https://www.pantsbuild.org/v2.14/docs/reference-hadolint#use_unsupported_version

Default: "error"
Values: "error" "warning"
version string
Default: "v2.10.0"
help object

Display usage message.

help-advanced object

Help for advanced options.

help-all object

Print a JSON object containing all help info.

internal-generate-test-lockfile-fixtures object

[Internal] Generate test lockfile fixtures for Pants tests.

ipython object

The IPython enhanced REPL (https://ipython.org/).

6 nested properties
console_script string
Default: "ipython"
entry_point string
Default: null
extra_requirements array

Any additional requirement strings to use with the tool https://www.pantsbuild.org/v2.14/docs/reference-ipython#extra_requirements

Default:
[]
ignore_cwd boolean

Whether to tell IPython not to put the CWD on the import path https://www.pantsbuild.org/v2.14/docs/reference-ipython#ignore_cwd

Default: true
lockfile string

Path to a lockfile used for installing the tool https://www.pantsbuild.org/v2.14/docs/reference-ipython#lockfile

Default: "<default>"
version string
Default: "ipython>=7.34,<8"
isort object

The Python import sorter tool (https://pycqa.github.io/isort/).

11 nested properties
args array

Arguments to pass directly to isort, e.g. --isort-args='--case-sensitive --trailing-comma' https://www.pantsbuild.org/v2.14/docs/reference-isort#args

Default:
[]
config array

Path to config file understood by isort (https://pycqa.github.io/isort/docs/configuration/config_files/) https://www.pantsbuild.org/v2.14/docs/reference-isort#config

Default:
[]
config_discovery boolean

If true, Pants will include any relevant config files during runs (.isort.cfg, pyproject.toml, setup.cfg, tox.ini and .editorconfig) https://www.pantsbuild.org/v2.14/docs/reference-isort#config_discovery

Default: true
console_script string
Default: "isort"
entry_point string
Default: null
export boolean

If true, export a virtual environment with isort when running ./pants export https://www.pantsbuild.org/v2.14/docs/reference-isort#export

Default: true
extra_requirements array

Any additional requirement strings to use with the tool https://www.pantsbuild.org/v2.14/docs/reference-isort#extra_requirements

Default:
[]
interpreter_constraints array
Default:
[
  "CPython>=3.7,<4"
]
lockfile string

Path to a lockfile used for installing the tool https://www.pantsbuild.org/v2.14/docs/reference-isort#lockfile

Default: "<default>"
skip boolean

If true, don't use isort when running ./pants fmt and ./pants lint https://www.pantsbuild.org/v2.14/docs/reference-isort#skip

Default: false
version string
Default: "isort[pyproject,colors]>=5.9.3,<6.0"
java-dump-source-analysis object

Dump source analysis for java_source[s] targets.

java-infer object

Options controlling which dependencies will be inferred for Java targets.

3 nested properties
consumed_types boolean

Infer a target's dependencies by parsing consumed types from sources https://www.pantsbuild.org/v2.14/docs/reference-java-infer#consumed_types

Default: true
imports boolean

Infer a target's dependencies by parsing import statements from sources https://www.pantsbuild.org/v2.14/docs/reference-java-infer#imports

Default: true
third_party_import_mapping object

A dictionary mapping a Java package path to a JVM artifact coordinate (GROUP:ARTIFACT) without the version https://www.pantsbuild.org/v2.14/docs/reference-java-infer#third_party_import_mapping

Default:
{}
javac object

The javac Java source compiler.

2 nested properties
args array

Arguments to pass directly to javac, e.g. --javac-args='-g -deprecation' https://www.pantsbuild.org/v2.14/docs/reference-javac#args

Default:
[]
tailor_source_targets boolean

If true, add java_sources and java_tests targets with the tailor goal https://www.pantsbuild.org/v2.14/docs/reference-javac#tailor_source_targets

Default: true
junit object

The JUnit test framework (https://junit.org)

5 nested properties
args array

Arguments to pass directly to JUnit, e.g. --junit-args='--disable-ansi-colors' https://www.pantsbuild.org/v2.14/docs/reference-junit#args

Default:
[]
artifacts array

Artifact requirements for this tool using specified as either the address of a jvm_artifact target or, alternatively, as a colon-separated Maven coordinates (e.g., group:name:version) https://www.pantsbuild.org/v2.14/docs/reference-junit#artifacts

Default:
[
  "org.junit.platform:junit-platform-console:1.7.2",
  "org.junit.jupiter:junit-jupiter-engine:{version}",
  "org.junit.vintage:junit-vintage-engine:{version}"
]
jvm_options array

List of JVM options to pass to junit JVM processes https://www.pantsbuild.org/v2.14/docs/reference-junit#jvm_options

Default:
[]
lockfile string

Path to a lockfile used for installing the tool https://www.pantsbuild.org/v2.14/docs/reference-junit#lockfile

Default: "<default>"
version string
Default: "5.7.2"
jvm object

Options for general JVM functionality.

JDK strings will be passed directly to Coursier's --jvm parameter. Run cs java --available to see a list of available JVM versions on your platform.

If the string 'system' is passed, Coursier's --system-jvm option will be used instead, but note that this can lead to inconsistent behavior since the JVM version will be whatever happens to be found first on the system's PATH.

8 nested properties
debug_args array

Extra JVM arguments to use when running tests in debug mode https://www.pantsbuild.org/v2.14/docs/reference-jvm#debug_args

Default:
[]
default_resolve string

The default value used for the resolve and compatible_resolves fields https://www.pantsbuild.org/v2.14/docs/reference-jvm#default_resolve

Default: "jvm-default"
global_options array

List of JVM options to pass to all JVM processes https://www.pantsbuild.org/v2.14/docs/reference-jvm#global_options

Default:
[]
jdk string
Default: "temurin:1.11"
nailgun_remote_cache_speculation_delay number

The time in milliseconds to delay speculation of nailgun processes while reading from the remote cache https://www.pantsbuild.org/v2.14/docs/reference-jvm#nailgun_remote_cache_speculation_delay

Default: 1000
reproducible_jars boolean

When enabled, JAR files produced by JVM tools will have timestamps stripped https://www.pantsbuild.org/v2.14/docs/reference-jvm#reproducible_jars

Default: false
resolves object

A dictionary mapping resolve names to the path of their lockfile https://www.pantsbuild.org/v2.14/docs/reference-jvm#resolves

Default:
{
  "jvm-default": "3rdparty/jvm/default.lock"
}
tool_jdk string

The JDK to use when building and running Pants' internal JVM support code and other non-compiler tools https://www.pantsbuild.org/v2.14/docs/reference-jvm#tool_jdk

Default: "temurin:1.11"
jvm-symbol-map object

Dump the JVM dependency inference symbol mapping.

lint object

Run all linters and/or formatters in check mode.

3 nested properties
batch_size number

The target number of files to be included in each linter batch https://www.pantsbuild.org/v2.14/docs/reference-lint#batch_size

Default: 128
only array

Only run these linters and skip all others https://www.pantsbuild.org/v2.14/docs/reference-lint#only

Default:
[]
skip_formatters boolean

If true, skip running all formatters in check-only mode https://www.pantsbuild.org/v2.14/docs/reference-lint#skip_formatters

Default: false
list object

Lists all targets matching the file or target arguments.

3 nested properties
documented boolean

Print only targets that are documented with a description https://www.pantsbuild.org/v2.14/docs/reference-list#documented

Default: false
output_file string
Default: null
sep string

String to use to separate lines in line-oriented output https://www.pantsbuild.org/v2.14/docs/reference-list#sep

Default: "\n"
mypy object

The MyPy Python type checker (http://mypy-lang.org/).

14 nested properties
args array

Arguments to pass directly to MyPy, e.g. --mypy-args='--python-version 3.7 --disallow-any-expr' https://www.pantsbuild.org/v2.14/docs/reference-mypy#args

Default:
[]
config

Path to a config file understood by MyPy (https://mypy.readthedocs.io/en/stable/config_file.html) https://www.pantsbuild.org/v2.14/docs/reference-mypy#config

Default: null
config_discovery boolean

If true, Pants will include any relevant config files during runs (mypy.ini, .mypy.ini, and setup.cfg) https://www.pantsbuild.org/v2.14/docs/reference-mypy#config_discovery

Default: true
console_script string
Default: "mypy"
entry_point string
Default: null
export boolean

If true, export a virtual environment with MyPy when running ./pants export https://www.pantsbuild.org/v2.14/docs/reference-mypy#export

Default: true
extra_requirements array

Any additional requirement strings to use with the tool https://www.pantsbuild.org/v2.14/docs/reference-mypy#extra_requirements

Default:
[]
extra_type_stubs array

Extra type stub requirements to install when running MyPy https://www.pantsbuild.org/v2.14/docs/reference-mypy#extra_type_stubs

Default:
[]
extra_type_stubs_lockfile string

Path to a lockfile for the option [mypy].extra_type_stubs https://www.pantsbuild.org/v2.14/docs/reference-mypy#extra_type_stubs_lockfile

Default: "<none>"
interpreter_constraints array
Default:
[
  "CPython>=3.7,<4"
]
lockfile string

Path to a lockfile used for installing the tool https://www.pantsbuild.org/v2.14/docs/reference-mypy#lockfile

Default: "<default>"
skip boolean

If true, don't use MyPy when running ./pants check https://www.pantsbuild.org/v2.14/docs/reference-mypy#skip

Default: false
source_plugins array

An optional list of python_sources target addresses to load first-party plugins https://www.pantsbuild.org/v2.14/docs/reference-mypy#source_plugins

Default:
[]
version string
Default: "mypy==0.961"
package object

Create a distributable package.

pants-releases object

Options for Pants's release process.

1 nested properties
release_notes object

A dict from branch name to release notes rst-file location https://www.pantsbuild.org/v2.14/docs/reference-pants-releases#release_notes

Default:
{}
paths object

List the paths between two addresses.

3 nested properties
from string
Default: null
output_file string
Default: null
to string
Default: null
peek object

Display BUILD target info

2 nested properties
exclude_defaults boolean

Whether to leave off values that match the target-defined default values https://www.pantsbuild.org/v2.14/docs/reference-peek#exclude_defaults

Default: false
output_file string
Default: null
pex object

How Pants uses Pex to run Python subprocesses.

3 nested properties
executable_search_paths array

The PATH value that will be used by the PEX subprocess and any subprocesses it spawns https://www.pantsbuild.org/v2.14/docs/reference-pex#executable_search_paths

Default:
[
  "<PATH>"
]
venv_use_symlinks boolean

When possible, use venvs whose site-packages directories are populated with symlinks https://www.pantsbuild.org/v2.14/docs/reference-pex#venv_use_symlinks

Default: false
verbosity number

Set the verbosity level of PEX logging, from 0 (no logging) up to 9 (max logging) https://www.pantsbuild.org/v2.14/docs/reference-pex#verbosity

Default: 0
pex-binary-defaults object

Default settings for creating PEX executables.

2 nested properties
emit_warnings boolean

Whether built PEX binaries should emit PEX warnings at runtime by default https://www.pantsbuild.org/v2.14/docs/reference-pex-binary-defaults#emit_warnings

Default: true
resolve_local_platforms boolean

For each of the platforms specified for a pex_binary target, attempt to find a local interpreter that matches https://www.pantsbuild.org/v2.14/docs/reference-pex-binary-defaults#resolve_local_platforms

Default: false
pex-cli object

The PEX (Python EXecutable) tool (https://github.com/pantsbuild/pex).

5 nested properties
known_versions array
Default:
[
  "v2.1.108|macos_arm64|21d7803ef39203a6b2ae9f9e2678636e3c38ba17226ea33d6305f0683ab72e84|3848678",
  "v2.1.108|macos_x86_64|21d7803ef39203a6b2ae9f9e2678636e3c38ba17226ea33d6305f0683ab72e84|3848678",
  "v2.1.108|linux_x86_64|21d7803ef39203a6b2ae9f9e2678636e3c38ba17226ea33d6305f0683ab72e84|3848678",
  "v2.1.108|linux_arm64|21d7803ef39203a6b2ae9f9e2678636e3c38ba17226ea33d6305f0683ab72e84|3848678"
]
url_platform_mapping object

A dictionary mapping platforms to strings to be used when generating the URL to download the tool https://www.pantsbuild.org/v2.14/docs/reference-pex-cli#url_platform_mapping

Default:
{}
url_template string

URL to download the tool, either as a single binary file or a compressed file (e.g. zip file) https://www.pantsbuild.org/v2.14/docs/reference-pex-cli#url_template

Default: "https://github.com/pantsbuild/pex/releases/download/{version}/pex"
use_unsupported_version enum

What action to take in case the requested version of pex is not supported https://www.pantsbuild.org/v2.14/docs/reference-pex-cli#use_unsupported_version

Default: "error"
Values: "error" "warning"
version string
Default: "v2.1.108"
poetry object

Used to generate lockfiles for third-party Python dependencies (deprecated).

4 nested properties
extra_requirements array

Any additional requirement strings to use with the tool https://www.pantsbuild.org/v2.14/docs/reference-poetry#extra_requirements

Default:
[]
interpreter_constraints array
Default:
[
  "CPython>=3.7,<4"
]
lockfile string

Path to a lockfile used for installing the tool https://www.pantsbuild.org/v2.14/docs/reference-poetry#lockfile

Default: "<default>"
version string
Default: "poetry==1.1.14"
publish object

Publish deliverables (assets, distributions, images, etc).

1 nested properties
output string

Filename for JSON structured publish information https://www.pantsbuild.org/v2.14/docs/reference-publish#output

Default: null
py-constraints object

Determine what Python interpreter constraints are used by files/targets.

2 nested properties
output_file string
Default: null
summary boolean

Output a CSV summary of interpreter constraints for your whole repository https://www.pantsbuild.org/v2.14/docs/reference-py-constraints#summary

Default: false
pyoxidizer object

The PyOxidizer utility for packaging Python code in a Rust binary (https://pyoxidizer.readthedocs.io/en/stable/pyoxidizer.html).

Used with the pyoxidizer_binary target.

7 nested properties
args array

Arguments to pass directly to PyOxidizer, e.g. --pyoxidizer-args='--release' https://www.pantsbuild.org/v2.14/docs/reference-pyoxidizer#args

Default:
[]
console_script string
Default: "pyoxidizer"
entry_point string
Default: null
extra_requirements array

Any additional requirement strings to use with the tool https://www.pantsbuild.org/v2.14/docs/reference-pyoxidizer#extra_requirements

Default:
[]
interpreter_constraints array
Default:
[
  "CPython>=3.8,<4"
]
lockfile string

Path to a lockfile used for installing the tool https://www.pantsbuild.org/v2.14/docs/reference-pyoxidizer#lockfile

Default: "<default>"
version string
Default: "pyoxidizer==0.18.0"
pytest object

The pytest Python test framework (https://docs.pytest.org/).

12 nested properties
args array

Arguments to pass directly to Pytest, e.g. --pytest-args='-k test_foo --quiet' https://www.pantsbuild.org/v2.14/docs/reference-pytest#args

Default:
[]
config

Path to a config file understood by Pytest (https://docs.pytest.org/en/latest/reference/customize.html#configuration-file-formats) https://www.pantsbuild.org/v2.14/docs/reference-pytest#config

Default: null
config_discovery boolean

If true, Pants will include all relevant Pytest config files (e.g. pytest.ini) during runs https://www.pantsbuild.org/v2.14/docs/reference-pytest#config_discovery

Default: true
console_script string
Default: "pytest"
entry_point string
Default: null
execution_slot_var string

If a non-empty string, the process execution slot id (an integer) will be exposed to tests under this environment variable name https://www.pantsbuild.org/v2.14/docs/reference-pytest#execution_slot_var

Default: null
export boolean

If true, export a virtual environment with Pytest when running ./pants export https://www.pantsbuild.org/v2.14/docs/reference-pytest#export

Default: true
extra_requirements array

Any additional requirement strings to use with the tool https://www.pantsbuild.org/v2.14/docs/reference-pytest#extra_requirements

Default:
[
  "pytest-cov>=2.12,!=2.12.1,<3.1",
  "pytest-xdist>=2.5,<3"
]
junit_family string
Default: "xunit2"
lockfile string

Path to a lockfile used for installing the tool https://www.pantsbuild.org/v2.14/docs/reference-pytest#lockfile

Default: "<default>"
version string
Default: "pytest==7.0.1"
xdist_enabled boolean

If true, Pants will use pytest-xdist (https://pytest-xdist.readthedocs.io/en/latest/) to parallelize tests within each python_test target https://www.pantsbuild.org/v2.14/docs/reference-pytest#xdist_enabled

Default: false
python object

Options for Pants's Python backend.

19 nested properties
default_resolve string
Default: "python-default"
default_run_goal_use_sandbox boolean

The default value used for the run_goal_use_sandbox field of Python targets https://www.pantsbuild.org/v2.14/docs/reference-python#default_run_goal_use_sandbox

Default: true
enable_resolves boolean

Set to true to enable lockfiles for user code https://www.pantsbuild.org/v2.14/docs/reference-python#enable_resolves

Default: false
interpreter_constraints array

The Python interpreters your codebase is compatible with https://www.pantsbuild.org/v2.14/docs/reference-python#interpreter_constraints

Default:
[
  "CPython>=3.7,<4"
]
interpreter_versions_universe array

All known Python major/minor interpreter versions that may be used by either your code or tools used by your code https://www.pantsbuild.org/v2.14/docs/reference-python#interpreter_versions_universe

Default:
[
  "2.7",
  "3.5",
  "3.6",
  "3.7",
  "3.8",
  "3.9",
  "3.10",
  "3.11"
]
invalid_lockfile_behavior enum

The behavior when a lockfile has requirements or interpreter constraints that are not compatible with what the current build is using https://www.pantsbuild.org/v2.14/docs/reference-python#invalid_lockfile_behavior

Default: "error"
Values: "error" "ignore" "warn"
macos_big_sur_compatibility boolean

If set, and if running on MacOS Big Sur, use macosx_10_16 as the platform when building wheels https://www.pantsbuild.org/v2.14/docs/reference-python#macos_big_sur_compatibility

Default: false
resolver_manylinux string

Whether to allow resolution of manylinux wheels when resolving requirements for foreign linux platforms https://www.pantsbuild.org/v2.14/docs/reference-python#resolver_manylinux

Default: "manylinux2014"
resolves object

A mapping of logical names to lockfile paths used in your project https://www.pantsbuild.org/v2.14/docs/reference-python#resolves

Default:
{
  "python-default": "3rdparty/python/default.lock"
}
resolves_generate_lockfiles boolean

If False, Pants will not attempt to generate lockfiles for [python].resolves when running the generate-lockfiles goal https://www.pantsbuild.org/v2.14/docs/reference-python#resolves_generate_lockfiles

Default: true
resolves_to_constraints_file object

When generating a resolve's lockfile, use a constraints file to pin the version of certain requirements https://www.pantsbuild.org/v2.14/docs/reference-python#resolves_to_constraints_file

Default:
{}
resolves_to_interpreter_constraints object

Override the interpreter constraints to use when generating a resolve's lockfile with the generate-lockfiles goal https://www.pantsbuild.org/v2.14/docs/reference-python#resolves_to_interpreter_constraints

Default:
{}
resolves_to_no_binary object

When generating a resolve's lockfile, do not use binary packages (i.e. wheels) for these 3rdparty project names https://www.pantsbuild.org/v2.14/docs/reference-python#resolves_to_no_binary

Default:
{}
resolves_to_only_binary object

When generating a resolve's lockfile, do not use source packages (i.e. sdists) for these 3rdparty project names, e.g ['django', 'requests'] https://www.pantsbuild.org/v2.14/docs/reference-python#resolves_to_only_binary

Default:
{}
run_against_entire_lockfile boolean

If enabled, when running binaries, tests, and repls, Pants will use the entire lockfile file instead of just the relevant subset https://www.pantsbuild.org/v2.14/docs/reference-python#run_against_entire_lockfile

Default: false
tailor_ignore_empty_init_files boolean

If true, don't add python_sources targets for __init__.py files that are both empty and where there are no other Python files in the directory https://www.pantsbuild.org/v2.14/docs/reference-python#tailor_ignore_empty_init_files

Default: true
tailor_pex_binary_targets boolean

If true, add pex_binary targets for Python files named __main__.py or with a __main__ clause with the tailor goal https://www.pantsbuild.org/v2.14/docs/reference-python#tailor_pex_binary_targets

Default: false
tailor_requirements_targets boolean

If true, add python_requirements, poetry_requirements, and pipenv_requirements target generators with the tailor goal https://www.pantsbuild.org/v2.14/docs/reference-python#tailor_requirements_targets

Default: true
tailor_source_targets boolean

If true, add python_sources, python_tests, and python_test_utils targets with the tailor goal https://www.pantsbuild.org/v2.14/docs/reference-python#tailor_source_targets

Default: true
python-bootstrap object

Options used to locate Python interpreters used by all Pants backends.

This subsystem controls where and how Pants will locate Python, but beyond that it does not control which Python interpreter versions are actually used for your code: see the python subsystem for that.

2 nested properties
names array
Default:
[
  "python",
  "python3"
]
search_path array

A list of paths to search for Python interpreters https://www.pantsbuild.org/v2.14/docs/reference-python-bootstrap#search_path

Default:
[
  "<PYENV>",
  "<PATH>"
]
python-infer object

Options controlling which dependencies will be inferred for Python targets.

9 nested properties
assets boolean

Infer a target's asset dependencies based on strings that look like Posix filepaths, such as those given to open or pkgutil.get_data https://www.pantsbuild.org/v2.14/docs/reference-python-infer#assets

Default: false
assets_min_slashes number

If --assets is True, treat valid-looking strings with at least this many forward slash characters as potential assets https://www.pantsbuild.org/v2.14/docs/reference-python-infer#assets_min_slashes

Default: 1
conftests boolean

Infer a test target's dependencies on any conftest.py files in the current directory and ancestor directories https://www.pantsbuild.org/v2.14/docs/reference-python-infer#conftests

Default: true
entry_points boolean

Infer dependencies on targets' entry points, e.g. pex_binary's entry_point field, python_awslambda's handler field and python_distribution's entry_points field https://www.pantsbuild.org/v2.14/docs/reference-python-infer#entry_points

Default: true
imports boolean

Infer a target's imported dependencies by parsing import statements from sources https://www.pantsbuild.org/v2.14/docs/reference-python-infer#imports

Default: true
init_files enum

Infer a target's dependencies on any __init__.py files in the packages it is located in (recursively upward in the directory structure) https://www.pantsbuild.org/v2.14/docs/reference-python-infer#init_files

Default: "content_only"
Values: "always" "content_only" "never"
string_imports boolean

Infer a target's dependencies based on strings that look like dynamic dependencies, such as Django settings files expressing dependencies as strings https://www.pantsbuild.org/v2.14/docs/reference-python-infer#string_imports

Default: false
string_imports_min_dots number

If --string-imports is True, treat valid-looking strings with at least this many dots in them as potential dynamic dependencies https://www.pantsbuild.org/v2.14/docs/reference-python-infer#string_imports_min_dots

Default: 2
unowned_dependency_behavior enum
Default: "warning"
Values: "error" "warning" "ignore"
python-native-code object

Options for building native code using Python, e.g. when resolving distributions.

2 nested properties
cpp_flags array

Override the CPPFLAGS environment variable for any forked subprocesses https://www.pantsbuild.org/v2.14/docs/reference-python-native-code#cpp_flags

Default:
[]
ld_flags array

Override the LDFLAGS environment variable for any forked subprocesses https://www.pantsbuild.org/v2.14/docs/reference-python-native-code#ld_flags

Default:
[]
python-repos object

External Python code repositories, such as PyPI.

These options may be used to point to custom package indexes when resolving requirements.

3 nested properties
find_links array

URLs and/or file paths corresponding to pip's --find-links option https://www.pantsbuild.org/v2.14/docs/reference-python-repos#find_links

Default:
[]
indexes array

URLs of PEP-503 compatible code repository indexes to look for requirements https://www.pantsbuild.org/v2.14/docs/reference-python-repos#indexes

Default:
[
  "https://pypi.org/simple/"
]
path_mappings array

Mappings to facilitate using local Python requirements when the absolute file paths are different on different users' machines https://www.pantsbuild.org/v2.14/docs/reference-python-repos#path_mappings

Default:
[]
regex-lint object

Lint your code using regex patterns, e.g. to check for copyright headers.

To activate this with the lint goal, you must set [regex-lint].config.

Unlike other linters, this can run on files not owned by targets, such as BUILD files.

2 nested properties
config object | string
Default:
{}
detail_level enum
Default: "nonmatching"
Values: "none" "summary" "nonmatching" "names" "all"
repl object

Open a REPL with the specified code loadable.

2 nested properties
restartable boolean

True if the REPL should be restarted if its inputs have changed https://www.pantsbuild.org/v2.14/docs/reference-repl#restartable

Default: false
shell string

Override the automatically-detected REPL program for the target(s) specified https://www.pantsbuild.org/v2.14/docs/reference-repl#shell

Default: null
roots object

List the repo's registered source roots.

2 nested properties
output_file string
Default: null
sep string

String to use to separate lines in line-oriented output https://www.pantsbuild.org/v2.14/docs/reference-roots#sep

Default: "\n"
run object

Runs a binary target.

This goal propagates the return code of the underlying executable.

If your application can safely be restarted while it is running, you can pass restartable=True on your binary target (for supported types), and the run goal will automatically restart them as all relevant files change. This can be particularly useful for server applications.

3 nested properties
args array

Arguments to pass directly to the executed target, e.g. --run-args='val1 val2 --debug' https://www.pantsbuild.org/v2.14/docs/reference-run#args

Default:
[]
cleanup boolean

Whether to clean up the temporary directory in which the binary is chrooted https://www.pantsbuild.org/v2.14/docs/reference-run#cleanup

Default: true
debug_adapter boolean

Run the interactive process using a Debug Adapter (https://microsoft.github.io/debug-adapter-protocol/) for the language if supported https://www.pantsbuild.org/v2.14/docs/reference-run#debug_adapter

Default: false
scala object

Scala programming language

2 nested properties
tailor_source_targets boolean

If true, add scala_sources, scala_junit_tests, and scalatest_tests targets with the tailor goal https://www.pantsbuild.org/v2.14/docs/reference-scala#tailor_source_targets

Default: true
version_for_resolve object

A dictionary mapping the name of a resolve to the Scala version to use for all Scala targets consuming that resolve https://www.pantsbuild.org/v2.14/docs/reference-scala#version_for_resolve

Default:
{}
scala-dump-source-analysis object

Dump source analysis for scala_source targets.

scala-infer object

Options controlling which dependencies will be inferred for Scala targets.

4 nested properties
consumed_types boolean

Infer a target's dependencies by parsing consumed types from sources https://www.pantsbuild.org/v2.14/docs/reference-scala-infer#consumed_types

Default: true
force_add_siblings_as_dependencies boolean

If true, add a dependency on all scala_source targets generated by the same scala_sources target generator https://www.pantsbuild.org/v2.14/docs/reference-scala-infer#force_add_siblings_as_dependencies

Default: false
imports boolean

Infer a target's dependencies by parsing import statements from sources https://www.pantsbuild.org/v2.14/docs/reference-scala-infer#imports

Default: true
package_objects boolean

Add dependency on the package object to every target https://www.pantsbuild.org/v2.14/docs/reference-scala-infer#package_objects

Default: true
scalac object

The Scala compiler.

2 nested properties
args array

Arguments to pass directly to scalac, e.g. --scalac-args='-encoding UTF-8' https://www.pantsbuild.org/v2.14/docs/reference-scalac#args

Default:
[]
plugins_for_resolve object

A dictionary, whose keys are the names of each JVM resolve that requires default scalac plugins, and the value is a comma-separated string consisting of scalac plugin names https://www.pantsbuild.org/v2.14/docs/reference-scalac#plugins_for_resolve

Default:
{}
scalafmt object

scalafmt (https://scalameta.org/scalafmt/)

5 nested properties
artifacts array

Artifact requirements for this tool using specified as either the address of a jvm_artifact target or, alternatively, as a colon-separated Maven coordinates (e.g., group:name:version) https://www.pantsbuild.org/v2.14/docs/reference-scalafmt#artifacts

Default:
[
  "org.scalameta:scalafmt-cli_2.13:{version}"
]
jvm_options array

List of JVM options to pass to scalafmt JVM processes https://www.pantsbuild.org/v2.14/docs/reference-scalafmt#jvm_options

Default:
[]
lockfile string

Path to a lockfile used for installing the tool https://www.pantsbuild.org/v2.14/docs/reference-scalafmt#lockfile

Default: "<default>"
skip boolean

If true, don't use scalafmt when running ./pants fmt and ./pants lint https://www.pantsbuild.org/v2.14/docs/reference-scalafmt#skip

Default: false
version string
Default: "3.2.1"
scalatest object

The Scalatest test framework (https://www.scalatest.org/)

5 nested properties
args array

Arguments to pass directly to Scalatest, e.g. --scalatest-args='-t $testname' https://www.pantsbuild.org/v2.14/docs/reference-scalatest#args

Default:
[]
artifacts array

Artifact requirements for this tool using specified as either the address of a jvm_artifact target or, alternatively, as a colon-separated Maven coordinates (e.g., group:name:version) https://www.pantsbuild.org/v2.14/docs/reference-scalatest#artifacts

Default:
[
  "org.scalatest:scalatest_2.13:{version}"
]
jvm_options array

List of JVM options to pass to scalatest JVM processes https://www.pantsbuild.org/v2.14/docs/reference-scalatest#jvm_options

Default:
[]
lockfile string

Path to a lockfile used for installing the tool https://www.pantsbuild.org/v2.14/docs/reference-scalatest#lockfile

Default: "<default>"
version string
Default: "3.2.10"
scc object

The Succinct Code Counter, aka scc (https://github.com/boyter/scc).

6 nested properties
args array

Arguments to pass directly to SCC, e.g. --scc-args='--no-cocomo' https://www.pantsbuild.org/v2.14/docs/reference-scc#args

Default:
[]
known_versions array

Known versions to verify downloads against https://www.pantsbuild.org/v2.14/docs/reference-scc#known_versions

Default:
[
  "3.0.0|macos_arm64 |846cb1b25025a0794d455719bc17cfb3f588576a58af1d95036f6c654e294f98|2006145",
  "3.0.0|macos_x86_64|9c3064e477ab36e16204ad34f649372034bca4df669615eff5de4aa05b2ddf1a|2048134",
  "3.0.0|linux_arm64 |04f9e797b70a678833e49df5e744f95080dfb7f963c0cd34f5b5d4712d290f33|1768037",
  "3.0.0|linux_x86_64|13ca47ce00b5bd032f97f3af7aa8eb3c717b8972b404b155a378b09110e4aa0c|1948341"
]
url_platform_mapping object

A dictionary mapping platforms to strings to be used when generating the URL to download the tool https://www.pantsbuild.org/v2.14/docs/reference-scc#url_platform_mapping

Default:
{
  "linux_arm64": "arm64-unknown-linux",
  "linux_x86_64": "x86_64-unknown-linux",
  "macos_arm64": "arm64-apple-darwin",
  "macos_x86_64": "x86_64-apple-darwin"
}
url_template string

URL to download the tool, either as a single binary file or a compressed file (e.g. zip file) https://www.pantsbuild.org/v2.14/docs/reference-scc#url_template

Default: "https://github.com/boyter/scc/releases/download/v{version}/scc-{version}-{platform}.zip"
use_unsupported_version enum

What action to take in case the requested version of SCC is not supported https://www.pantsbuild.org/v2.14/docs/reference-scc#use_unsupported_version

Default: "error"
Values: "error" "warning"
version string
Default: "3.0.0"
setup-py-generation object

Options to control how setup.py is generated from a python_distribution target.

2 nested properties
first_party_dependency_version_scheme enum

What version to set in install_requires when a python_distribution depends on other python_distributions https://www.pantsbuild.org/v2.14/docs/reference-setup-py-generation#first_party_dependency_version_scheme

Default: "exact"
Values: "exact" "compatible" "any"
generate_setup_default boolean

The default value for the generate_setup field on python_distribution targets https://www.pantsbuild.org/v2.14/docs/reference-setup-py-generation#generate_setup_default

Default: true
setuptools object

Python setuptools, used to package python_distribution targets.

3 nested properties
extra_requirements array

Any additional requirement strings to use with the tool https://www.pantsbuild.org/v2.14/docs/reference-setuptools#extra_requirements

Default:
[
  "wheel>=0.35.1,<0.38"
]
lockfile string

Path to a lockfile used for installing the tool https://www.pantsbuild.org/v2.14/docs/reference-setuptools#lockfile

Default: "<default>"
version string
Default: "setuptools>=63.1.0,<64.0"
setuptools-scm object

A tool for generating versions from VCS metadata (https://github.com/pypa/setuptools_scm).

6 nested properties
console_script string
Default: null
entry_point string
Default: "setuptools_scm"
extra_requirements array

Any additional requirement strings to use with the tool https://www.pantsbuild.org/v2.14/docs/reference-setuptools-scm#extra_requirements

Default:
[]
interpreter_constraints array
Default:
[
  "CPython>=3.7,<4"
]
lockfile string

Path to a lockfile used for installing the tool https://www.pantsbuild.org/v2.14/docs/reference-setuptools-scm#lockfile

Default: "<default>"
version string
Default: "setuptools-scm==6.4.2"
shell-setup object

Options for Pants's Shell support.

3 nested properties
dependency_inference boolean

Infer Shell dependencies on other Shell files by analyzing source statements https://www.pantsbuild.org/v2.14/docs/reference-shell-setup#dependency_inference

Default: true
executable_search_path array

The PATH value that will be used to find shells and to run certain processes like the shunit2 test runner https://www.pantsbuild.org/v2.14/docs/reference-shell-setup#executable_search_path

Default:
[
  "<PATH>"
]
tailor boolean

If true, add shell_sources and shunit2_tests targets with the tailor goal https://www.pantsbuild.org/v2.14/docs/reference-shell-setup#tailor

Default: true
shellcheck object

A linter for shell scripts.

8 nested properties
args array

Arguments to pass directly to Shellcheck, e.g. --shellcheck-args='-e SC20529' https://www.pantsbuild.org/v2.14/docs/reference-shellcheck#args

Default:
[]
config_discovery boolean

If true, Pants will include all relevant .shellcheckrc and shellcheckrc files during runs https://www.pantsbuild.org/v2.14/docs/reference-shellcheck#config_discovery

Default: true
known_versions array
Default:
[
  "v0.8.0|macos_arm64 |e065d4afb2620cc8c1d420a9b3e6243c84ff1a693c1ff0e38f279c8f31e86634|4049756",
  "v0.8.0|macos_x86_64|e065d4afb2620cc8c1d420a9b3e6243c84ff1a693c1ff0e38f279c8f31e86634|4049756",
  "v0.8.0|linux_arm64 |9f47bbff5624babfa712eb9d64ece14c6c46327122d0c54983f627ae3a30a4ac|2996468",
  "v0.8.0|linux_x86_64|ab6ee1b178f014d1b86d1e24da20d1139656c8b0ed34d2867fbb834dad02bf0a|1403852"
]
skip boolean

If true, don't use Shellcheck when running ./pants lint https://www.pantsbuild.org/v2.14/docs/reference-shellcheck#skip

Default: false
url_platform_mapping object

A dictionary mapping platforms to strings to be used when generating the URL to download the tool https://www.pantsbuild.org/v2.14/docs/reference-shellcheck#url_platform_mapping

Default:
{
  "linux_arm64": "linux.aarch64",
  "linux_x86_64": "linux.x86_64",
  "macos_arm64": "darwin.x86_64",
  "macos_x86_64": "darwin.x86_64"
}
url_template string

URL to download the tool, either as a single binary file or a compressed file (e.g. zip file) https://www.pantsbuild.org/v2.14/docs/reference-shellcheck#url_template

Default: "https://github.com/koalaman/shellcheck/releases/download/{version}/shellcheck-{version}.{platform}.tar.xz"
use_unsupported_version enum

What action to take in case the requested version of Shellcheck is not supported https://www.pantsbuild.org/v2.14/docs/reference-shellcheck#use_unsupported_version

Default: "error"
Values: "error" "warning"
version string
Default: "v0.8.0"
shfmt object

An autoformatter for shell scripts (https://github.com/mvdan/sh).

8 nested properties
args array

Arguments to pass directly to shfmt, e.g. --shfmt-args='-i 2' https://www.pantsbuild.org/v2.14/docs/reference-shfmt#args

Default:
[]
config_discovery boolean

If true, Pants will include all relevant .editorconfig files during runs https://www.pantsbuild.org/v2.14/docs/reference-shfmt#config_discovery

Default: true
known_versions array
Default:
[
  "v3.2.4|macos_arm64 |e70fc42e69debe3e400347d4f918630cdf4bf2537277d672bbc43490387508ec|2998546",
  "v3.2.4|macos_x86_64|43a0461a1b54070ddc04fbbf1b78f7861ee39a65a61f5466d15a39c4aba4f917|2980208",
  "v3.2.4|linux_arm64 |6474d9cc08a1c9fe2ef4be7a004951998e3067d46cf55a011ddd5ff7bfab3de6|2752512",
  "v3.2.4|linux_x86_64|3f5a47f8fec27fae3e06d611559a2063f5d27e4b9501171dde9959b8c60a3538|2797568"
]
skip boolean

If true, don't use shfmt when running ./pants fmt and ./pants lint https://www.pantsbuild.org/v2.14/docs/reference-shfmt#skip

Default: false
url_platform_mapping object

A dictionary mapping platforms to strings to be used when generating the URL to download the tool https://www.pantsbuild.org/v2.14/docs/reference-shfmt#url_platform_mapping

Default:
{
  "linux_arm64": "linux_arm64",
  "linux_x86_64": "linux_amd64",
  "macos_arm64": "darwin_arm64",
  "macos_x86_64": "darwin_amd64"
}
url_template string

URL to download the tool, either as a single binary file or a compressed file (e.g. zip file) https://www.pantsbuild.org/v2.14/docs/reference-shfmt#url_template

Default: "https://github.com/mvdan/sh/releases/download/{version}/shfmt_{version}_{platform}"
use_unsupported_version enum

What action to take in case the requested version of shfmt is not supported https://www.pantsbuild.org/v2.14/docs/reference-shfmt#use_unsupported_version

Default: "error"
Values: "error" "warning"
version string
Default: "v3.2.4"
source object

Configuration for roots of source trees.

2 nested properties
marker_filenames array

The presence of a file of this name in a directory indicates that the directory is a source root https://www.pantsbuild.org/v2.14/docs/reference-source#marker_filenames

Default:
[]
root_patterns array
Default:
[
  "/",
  "src",
  "src/python",
  "src/py",
  "src/thrift",
  "src/protobuf",
  "src/protos",
  "src/scala",
  "src/java"
]
stats object

An aggregator for Pants stats, such as cache metrics.

2 nested properties
log boolean

At the end of the Pants run, log all counter metrics and summaries of observation histograms, e.g. the number of cache hits and the time saved by caching https://www.pantsbuild.org/v2.14/docs/reference-stats#log

Default: false
memory_summary boolean

At the end of the Pants run, report a summary of memory usage https://www.pantsbuild.org/v2.14/docs/reference-stats#memory_summary

Default: false
subprocess-environment object

Environment settings for forked subprocesses.

1 nested properties
env_vars array

Environment variables to set for process invocations https://www.pantsbuild.org/v2.14/docs/reference-subprocess-environment#env_vars

Default:
[
  "LANG",
  "LC_CTYPE",
  "LC_ALL",
  "SSL_CERT_FILE",
  "SSL_CERT_DIR"
]
tailor object

Auto-generate BUILD file targets for new source files.

Each specific tailor implementation may be disabled through language-specific options, e.g. [python].tailor_pex_binary_targets and [shell-setup].tailor.

7 nested properties
alias_mapping object

A mapping from standard target type to custom type to use instead https://www.pantsbuild.org/v2.14/docs/reference-tailor#alias_mapping

Default:
{}
build_file_header string

A header, e.g., a copyright notice, to add to the content of created BUILD files https://www.pantsbuild.org/v2.14/docs/reference-tailor#build_file_header

Default: null
build_file_indent string

The indent to use when auto-editing BUILD files https://www.pantsbuild.org/v2.14/docs/reference-tailor#build_file_indent

Default: " "
build_file_name string
Default: "BUILD"
check boolean

Do not write changes to disk, only write back what would change https://www.pantsbuild.org/v2.14/docs/reference-tailor#check

Default: false
ignore_adding_targets array
Default:
[]
ignore_paths array

Do not edit or create BUILD files at these paths https://www.pantsbuild.org/v2.14/docs/reference-tailor#ignore_paths

Default:
[]
test object

Run tests.

13 nested properties
debug boolean

Run tests sequentially in an interactive process https://www.pantsbuild.org/v2.14/docs/reference-test#debug

Default: false
debug_adapter boolean

Run tests sequentially in an interactive process, using a Debug Adapter (https://microsoft.github.io/debug-adapter-protocol/) for the language if supported https://www.pantsbuild.org/v2.14/docs/reference-test#debug_adapter

Default: false
extra_env_vars array

Additional environment variables to include in test processes https://www.pantsbuild.org/v2.14/docs/reference-test#extra_env_vars

Default:
[]
force boolean

Force the tests to run, even if they could be satisfied from cache https://www.pantsbuild.org/v2.14/docs/reference-test#force

Default: false
open_coverage boolean

If a coverage report file is generated, open it on the local system if the system supports this https://www.pantsbuild.org/v2.14/docs/reference-test#open_coverage

Default: false
output enum
Default: "failed"
Values: "all" "failed" "none"
report boolean
Default: false
report_dir string
Default: "{distdir}/test/reports"
shard string

A shard specification of the form "k/N", where N is a positive integer and k is a non-negative integer less than N https://www.pantsbuild.org/v2.14/docs/reference-test#shard

Default: ""
timeout_default number

The default timeout (in seconds) for a test target if the timeout field is not set on the target https://www.pantsbuild.org/v2.14/docs/reference-test#timeout_default

Default: null
timeout_maximum number

The maximum timeout (in seconds) that may be used on a test target https://www.pantsbuild.org/v2.14/docs/reference-test#timeout_maximum

Default: null
timeouts boolean
Default: true
use_coverage boolean

Generate a coverage report if the test runner supports it https://www.pantsbuild.org/v2.14/docs/reference-test#use_coverage

Default: false
toolchain-setup object

Setup specific to the Toolchain codebase.

3 nested properties
base_url string
Default: "https://app.toolchain.com"
org string

The organization name on your Toolchain account (typically the same as the org name in GitHub) https://www.pantsbuild.org/v2.14/docs/reference-toolchain-setup#org

Default: null
repo string

The name of this repo (typically its name in GitHub) https://www.pantsbuild.org/v2.14/docs/reference-toolchain-setup#repo

Default: null
twine object

The utility for publishing Python distributions to PyPI and other Python repositories.

11 nested properties
args array

Arguments to pass directly to Twine, e.g. --twine-args='--skip-existing' https://www.pantsbuild.org/v2.14/docs/reference-twine#args

Default:
[]
ca_certs_path string

Path to a file containing PEM-format CA certificates used for verifying secure connections when publishing python distributions https://www.pantsbuild.org/v2.14/docs/reference-twine#ca_certs_path

Default: "<inherit>"
config

Path to a .pypirc config file to use. (https://packaging.python.org/specifications/pypirc/) https://www.pantsbuild.org/v2.14/docs/reference-twine#config

Default: null
config_discovery boolean

If true, Pants will include all relevant config files during runs (.pypirc) https://www.pantsbuild.org/v2.14/docs/reference-twine#config_discovery

Default: true
console_script string
Default: "twine"
entry_point string
Default: null
extra_requirements array

Any additional requirement strings to use with the tool https://www.pantsbuild.org/v2.14/docs/reference-twine#extra_requirements

Default:
[
  "colorama>=0.4.3"
]
interpreter_constraints array
Default:
[
  "CPython>=3.7,<4"
]
lockfile string

Path to a lockfile used for installing the tool https://www.pantsbuild.org/v2.14/docs/reference-twine#lockfile

Default: "<default>"
skip boolean

If true, don't use Twine when running ./pants publish https://www.pantsbuild.org/v2.14/docs/reference-twine#skip

Default: false
version string
Default: "twine>=3.7.1,<3.8"
update-build-files object

Format and fix safe deprecations in BUILD files.

This does not handle the full Pants upgrade. You must still manually change pants_version in pants.toml and you may need to manually address some deprecations. See https://www.pantsbuild.org/v2.14/docs/upgrade-tips for upgrade tips.

This goal is run without arguments. It will run over all BUILD files in your project.

4 nested properties
check boolean

Do not write changes to disk, only write back what would change https://www.pantsbuild.org/v2.14/docs/reference-update-build-files#check

Default: false
fix_safe_deprecations boolean

Automatically fix deprecations, such as target type renames, that are safe because they do not change semantics https://www.pantsbuild.org/v2.14/docs/reference-update-build-files#fix_safe_deprecations

Default: true
fmt boolean
Default: true
formatter enum

Which formatter Pants should use to format BUILD files https://www.pantsbuild.org/v2.14/docs/reference-update-build-files#formatter

Default: "black"
Values: "yapf" "black"
version object

Display Pants version.

yapf object

A formatter for Python files (https://github.com/google/yapf).

11 nested properties
args array

Arguments to pass directly to yapf, e.g. --yapf-args='--no-local-style' https://www.pantsbuild.org/v2.14/docs/reference-yapf#args

Default:
[]
config

Path to style file understood by yapf (https://github.com/google/yapf#formatting-style/) https://www.pantsbuild.org/v2.14/docs/reference-yapf#config

Default: null
config_discovery boolean

If true, Pants will include any relevant config files during runs (.style.yapf, pyproject.toml, and setup.cfg) https://www.pantsbuild.org/v2.14/docs/reference-yapf#config_discovery

Default: true
console_script string
Default: "yapf"
entry_point string
Default: null
export boolean

If true, export a virtual environment with yapf when running ./pants export https://www.pantsbuild.org/v2.14/docs/reference-yapf#export

Default: true
extra_requirements array

Any additional requirement strings to use with the tool https://www.pantsbuild.org/v2.14/docs/reference-yapf#extra_requirements

Default:
[
  "toml"
]
interpreter_constraints array
Default:
[
  "CPython>=3.7,<4"
]
lockfile string

Path to a lockfile used for installing the tool https://www.pantsbuild.org/v2.14/docs/reference-yapf#lockfile

Default: "<default>"
skip boolean

If true, don't use yapf when running ./pants fmt and ./pants lint https://www.pantsbuild.org/v2.14/docs/reference-yapf#skip

Default: false
version string
Default: "yapf==0.32.0"