{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "additionalProperties": true,
  "description": "Pants configuration file schema: https://www.pantsbuild.org/",
  "id": "https://json.schemastore.org/pantsbuild-2.14.0.json",
  "properties": {
    "GLOBAL": {
      "description": "Options to control the overall behavior of Pants.",
      "properties": {
        "backend_packages": {
          "default": [],
          "description": "Register functionality from these backends\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#backend_packages",
          "type": "array"
        },
        "build_file_prelude_globs": {
          "default": [],
          "description": "Python files to evaluate and whose symbols should be exposed to all BUILD files\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#build_file_prelude_globs",
          "type": "array"
        },
        "build_ignore": {
          "default": [],
          "description": "Path globs or literals to ignore when identifying BUILD files\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#build_ignore",
          "type": "array"
        },
        "build_patterns": {
          "default": ["BUILD", "BUILD.*"],
          "description": "The naming scheme for BUILD files, i.e. where you define targets\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#build_patterns",
          "type": "array"
        },
        "ca_certs_path": {
          "default": null,
          "description": "Path to a file containing PEM-format CA certificates used for verifying secure connections when downloading files required by a build\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#ca_certs_path",
          "type": "string"
        },
        "cache_content_behavior": {
          "default": "fetch",
          "description": "Controls how the content of cache entries is handled during process execution\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#cache_content_behavior",
          "enum": ["fetch", "validate", "defer"]
        },
        "colors": {
          "default": false,
          "description": "Whether Pants should use colors in output or not\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#colors",
          "type": "boolean"
        },
        "concurrent": {
          "default": false,
          "description": "Enable concurrent runs of Pants\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#concurrent",
          "type": "boolean"
        },
        "dynamic_ui": {
          "default": true,
          "description": "Display a dynamically-updating console UI as Pants runs\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#dynamic_ui",
          "type": "boolean"
        },
        "dynamic_ui_renderer": {
          "default": "indicatif-spinner",
          "description": "If `--dynamic-ui` is enabled, selects the renderer\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#dynamic_ui_renderer",
          "enum": ["indicatif-spinner", "experimental-prodash"]
        },
        "engine_visualize_to": {
          "default": null,
          "description": "A directory to write execution and rule graphs to as `dot` files\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#engine_visualize_to"
        },
        "ignore_warnings": {
          "default": [],
          "description": "Ignore logs and warnings matching these strings\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#ignore_warnings",
          "type": "array"
        },
        "keep_sandboxes": {
          "default": "never",
          "description": "Controls whether Pants will clean up local directories used as chroots for running processes\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#keep_sandboxes",
          "enum": ["always", "on_failure", "never"]
        },
        "level": {
          "default": "info",
          "description": "Set the logging level\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#level",
          "enum": ["trace", "debug", "info", "warn", "error"]
        },
        "local_cache": {
          "default": true,
          "description": "Whether to cache process executions in a local cache persisted to disk at `--local-store-dir`\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#local_cache",
          "type": "boolean"
        },
        "local_execution_root_dir": {
          "default": "<tmp_dir>",
          "description": "Directory to use for local process execution sandboxing\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#local_execution_root_dir",
          "type": "string"
        },
        "local_store_dir": {
          "default": "$XDG_CACHE_HOME/lmdb_store",
          "description": "Directory to use for the local file store, which stores the results of subprocesses run by Pants\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#local_store_dir",
          "type": "string"
        },
        "local_store_directories_max_size_bytes": {
          "default": 16000000000,
          "description": "The maximum size in bytes of the local store containing directories\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#local_store_directories_max_size_bytes",
          "type": "number"
        },
        "local_store_files_max_size_bytes": {
          "default": 256000000000,
          "description": "The maximum size in bytes of the local store containing files\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#local_store_files_max_size_bytes",
          "type": "number"
        },
        "local_store_processes_max_size_bytes": {
          "default": 16000000000,
          "description": "The maximum size in bytes of the local store containing process cache entries\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#local_store_processes_max_size_bytes",
          "type": "number"
        },
        "local_store_shard_count": {
          "default": 16,
          "description": "The number of LMDB shards created for the local store\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#local_store_shard_count",
          "type": "number"
        },
        "log_levels_by_target": {
          "default": {},
          "description": "Set a more specific logging level for one or more logging targets\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#log_levels_by_target",
          "type": "object"
        },
        "log_show_rust_3rdparty": {
          "default": false,
          "description": "Whether to show/hide logging done by 3rdparty Rust crates used by the Pants engine\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#log_show_rust_3rdparty",
          "type": "boolean"
        },
        "logdir": {
          "default": null,
          "description": "Write logs to files under this directory\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#logdir",
          "type": "string"
        },
        "loop": {
          "default": false,
          "description": "Run goals continuously as file changes are detected\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#loop",
          "type": "boolean"
        },
        "loop_max": {
          "default": 4294967296,
          "description": "The maximum number of times to loop when `--loop` is specified\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#loop_max",
          "type": "number"
        },
        "named_caches_dir": {
          "default": "$XDG_CACHE_HOME/named_caches",
          "description": "Directory to use for named global caches for tools and processes with trusted, concurrency-safe caches\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#named_caches_dir",
          "type": "string"
        },
        "pants_bin_name": {
          "default": "./pants",
          "description": "The name of the script or binary used to invoke Pants\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#pants_bin_name",
          "type": "string"
        },
        "pants_config_files": {
          "default": ["<buildroot>/pants.toml"],
          "description": "Paths to Pants config files\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#pants_config_files",
          "type": "array"
        },
        "pants_distdir": {
          "default": "<buildroot>/dist",
          "description": "Write end products, such as the results of `./pants package`, to this dir\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#pants_distdir",
          "type": "string"
        },
        "pants_ignore": {
          "default": [".*/", "/dist/", "__pycache__"],
          "description": "Paths to ignore for all filesystem operations performed by pants (e.g\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#pants_ignore",
          "type": "array"
        },
        "pants_ignore_use_gitignore": {
          "default": true,
          "description": "Make use of a root .gitignore file when determining whether to ignore filesystem operations performed by Pants\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#pants_ignore_use_gitignore",
          "type": "boolean"
        },
        "pants_physical_workdir_base": {
          "default": null,
          "description": "When set, a base directory in which to store `--pants-workdir` contents\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#pants_physical_workdir_base",
          "type": "string"
        },
        "pants_subprocessdir": {
          "default": "<buildroot>/.pids",
          "description": "The directory to use for tracking subprocess metadata\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#pants_subprocessdir",
          "type": "string"
        },
        "pants_version": {
          "default": "<pants_version>",
          "description": "Use this Pants version\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#pants_version",
          "type": "string"
        },
        "pants_workdir": {
          "default": "<buildroot>/.pants.d",
          "description": "Write intermediate logs and output files to this dir\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#pants_workdir",
          "type": "string"
        },
        "pantsd": {
          "default": true,
          "description": "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\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#pantsd",
          "type": "boolean"
        },
        "pantsd_invalidation_globs": {
          "default": [],
          "description": "Filesystem events matching any of these globs will trigger a daemon restart\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#pantsd_invalidation_globs",
          "type": "array"
        },
        "pantsd_max_memory_usage": {
          "default": "1GiB",
          "description": "The maximum memory usage of the pantsd process\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#pantsd_max_memory_usage"
        },
        "pantsd_pailgun_port": {
          "default": 0,
          "description": "The port to bind the Pants nailgun server to\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#pantsd_pailgun_port",
          "type": "number"
        },
        "pantsd_timeout_when_multiple_invocations": {
          "default": 60.0,
          "description": "The maximum amount of time to wait for the invocation to start until raising a timeout exception\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#pantsd_timeout_when_multiple_invocations",
          "type": "number"
        },
        "pantsrc": {
          "default": true,
          "description": "Use pantsrc files located at the paths specified in the global option `pantsrc_files`\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#pantsrc",
          "type": "boolean"
        },
        "pantsrc_files": {
          "default": ["/etc/pantsrc", "~/.pants.rc", ".pants.rc"],
          "description": "Override config with values from these files, using syntax matching that of `--pants-config-files`\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#pantsrc_files",
          "type": "array"
        },
        "plugins": {
          "default": [],
          "description": "Allow backends to be loaded from these plugins (usually released through PyPI). The default backends for each plugin will be loaded automatically\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#plugins",
          "type": "array"
        },
        "plugins_force_resolve": {
          "default": false,
          "description": "Re-resolve plugins, even if previously resolved\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#plugins_force_resolve",
          "type": "boolean"
        },
        "print_stacktrace": {
          "default": false,
          "description": "Print the full exception stack trace for any errors\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#print_stacktrace",
          "type": "boolean"
        },
        "process_cleanup": {
          "default": true,
          "description": "If false, Pants will not clean up local directories used as chroots for running processes\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#process_cleanup",
          "type": "boolean"
        },
        "process_execution_cache_namespace": {
          "default": null,
          "description": "The cache namespace for process execution\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#process_execution_cache_namespace",
          "type": "string"
        },
        "process_execution_graceful_shutdown_timeout": {
          "default": 3,
          "description": "The time in seconds to wait when gracefully shutting down an interactive process (such as one opened using `./pants run`) before killing it\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#process_execution_graceful_shutdown_timeout",
          "type": "number"
        },
        "process_execution_local_enable_nailgun": {
          "default": true,
          "description": "Whether or not to use nailgun to run JVM requests that are marked as supporting nailgun\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#process_execution_local_enable_nailgun",
          "type": "boolean"
        },
        "process_execution_local_parallelism": {
          "default": "#cores",
          "description": "Number of concurrent processes that may be executed locally\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#process_execution_local_parallelism",
          "type": "number"
        },
        "process_execution_remote_parallelism": {
          "default": 128,
          "description": "Number of concurrent processes that may be executed remotely\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#process_execution_remote_parallelism",
          "type": "number"
        },
        "process_per_child_memory_usage": {
          "default": "512MiB",
          "description": "The default memory usage for a single \"pooled\" child process\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#process_per_child_memory_usage"
        },
        "process_total_child_memory_usage": {
          "default": null,
          "description": "The maximum memory usage for all \"pooled\" child processes\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#process_total_child_memory_usage"
        },
        "pythonpath": {
          "default": [],
          "description": "Add these directories to PYTHONPATH to search for plugins\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#pythonpath",
          "type": "array"
        },
        "remote_auth_plugin": {
          "default": null,
          "description": "Path to a plugin to dynamically configure remote caching and execution options\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#remote_auth_plugin",
          "type": "string"
        },
        "remote_ca_certs_path": {
          "default": null,
          "description": "Path to a PEM file containing CA certificates used for verifying secure connections to `[GLOBAL].remote_execution_address` and `[GLOBAL].remote_store_address`\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#remote_ca_certs_path",
          "type": "string"
        },
        "remote_cache_read": {
          "default": false,
          "description": "Whether to enable reading from a remote cache\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#remote_cache_read",
          "type": "boolean"
        },
        "remote_cache_read_timeout_millis": {
          "default": 1500,
          "description": "Timeout value for remote cache lookups in milliseconds\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#remote_cache_read_timeout_millis",
          "type": "number"
        },
        "remote_cache_rpc_concurrency": {
          "default": 128,
          "description": "The number of concurrent requests allowed to the remote cache service\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#remote_cache_rpc_concurrency",
          "type": "number"
        },
        "remote_cache_warnings": {
          "default": "backoff",
          "description": "How frequently to log remote cache failures at the `warn` log level\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#remote_cache_warnings",
          "enum": ["ignore", "first_only", "backoff"]
        },
        "remote_cache_write": {
          "default": false,
          "description": "Whether to enable writing results to a remote cache\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#remote_cache_write",
          "type": "boolean"
        },
        "remote_execution": {
          "default": false,
          "description": "Enables remote workers for increased parallelism. (Alpha)\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#remote_execution",
          "type": "boolean"
        },
        "remote_execution_address": {
          "default": null,
          "description": "The URI of a server used as a remote execution scheduler\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#remote_execution_address",
          "type": "string"
        },
        "remote_execution_extra_platform_properties": {
          "default": [],
          "description": "Platform properties to set on remote execution requests\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#remote_execution_extra_platform_properties",
          "type": "array"
        },
        "remote_execution_headers": {
          "default": "{'user-agent': 'pants/<pants_version>'}",
          "description": "Headers to set on remote execution requests\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#remote_execution_headers",
          "type": "object"
        },
        "remote_execution_overall_deadline_secs": {
          "default": 3600,
          "description": "Overall timeout in seconds for each remote execution request from time of submission\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#remote_execution_overall_deadline_secs",
          "type": "number"
        },
        "remote_execution_rpc_concurrency": {
          "default": 128,
          "description": "The number of concurrent requests allowed to the remote execution service\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#remote_execution_rpc_concurrency",
          "type": "number"
        },
        "remote_instance_name": {
          "default": null,
          "description": "Name of the remote instance to use by remote caching and remote execution\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#remote_instance_name",
          "type": "string"
        },
        "remote_oauth_bearer_token_path": {
          "default": null,
          "description": "Path to a file containing an oauth token to use for gGRPC connections to `[GLOBAL].remote_execution_address` and `[GLOBAL].remote_store_address`\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#remote_oauth_bearer_token_path",
          "type": "string"
        },
        "remote_store_address": {
          "default": null,
          "description": "The URI of a server used for the remote file store\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#remote_store_address",
          "type": "string"
        },
        "remote_store_batch_api_size_limit": {
          "default": 4194304,
          "description": "The maximum total size of blobs allowed to be sent in a single batch API call to the remote store\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#remote_store_batch_api_size_limit",
          "type": "number"
        },
        "remote_store_chunk_bytes": {
          "default": 1048576,
          "description": "Size in bytes of chunks transferred to/from the remote file store\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#remote_store_chunk_bytes",
          "type": "number"
        },
        "remote_store_chunk_upload_timeout_seconds": {
          "default": 60,
          "description": "Timeout (in seconds) for uploads of individual chunks to the remote file store\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#remote_store_chunk_upload_timeout_seconds",
          "type": "number"
        },
        "remote_store_headers": {
          "default": "{'user-agent': 'pants/<pants_version>'}",
          "description": "Headers to set on remote store requests\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#remote_store_headers",
          "type": "object"
        },
        "remote_store_rpc_concurrency": {
          "default": 128,
          "description": "The number of concurrent requests allowed to the remote store service\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#remote_store_rpc_concurrency",
          "type": "number"
        },
        "remote_store_rpc_retries": {
          "default": 2,
          "description": "Number of times to retry any RPC to the remote store before giving up\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#remote_store_rpc_retries",
          "type": "number"
        },
        "rule_threads_core": {
          "default": "max(2, #cores/2)",
          "description": "The number of threads to keep active and ready to execute `@rule` logic (see also: `--rule-threads-max`)\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#rule_threads_core",
          "type": "number"
        },
        "rule_threads_max": {
          "default": null,
          "description": "The maximum number of threads to use to execute `@rule` logic\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#rule_threads_max",
          "type": "number"
        },
        "show_log_target": {
          "default": false,
          "description": "Display the target where a log message originates in that log message's output\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#show_log_target",
          "type": "boolean"
        },
        "spec_files": {
          "default": [],
          "description": "Read additional specs (target addresses, files, and/or globs), one per line, from these files\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#spec_files",
          "type": "array"
        },
        "stats_record_option_scopes": {
          "default": ["*"],
          "description": "Option scopes to record in stats on run completion\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#stats_record_option_scopes",
          "type": "array"
        },
        "streaming_workunits_complete_async": {
          "default": true,
          "description": "True if stats recording should be allowed to complete asynchronously when `pantsd` is enabled\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#streaming_workunits_complete_async",
          "type": "boolean"
        },
        "streaming_workunits_level": {
          "default": "debug",
          "description": "The level of workunits that will be reported to streaming workunit event receivers\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#streaming_workunits_level",
          "enum": ["trace", "debug", "info", "warn", "error"]
        },
        "streaming_workunits_report_interval": {
          "default": 1.0,
          "description": "Interval in seconds between when streaming workunit event receivers will be polled\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#streaming_workunits_report_interval",
          "type": "number"
        },
        "subproject_roots": {
          "default": [],
          "description": "Paths that correspond with build roots for any subproject that this project depends on\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#subproject_roots",
          "type": "array"
        },
        "tag": {
          "default": [],
          "description": "Include only targets with these tags (optional '+' prefix) or without these tags ('-' prefix)\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#tag",
          "type": "array"
        },
        "unmatched_build_file_globs": {
          "default": "warn",
          "description": "What to do when files and globs specified in BUILD files, such as in the `sources` field, cannot be found\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#unmatched_build_file_globs",
          "enum": ["warn", "error"]
        },
        "unmatched_cli_globs": {
          "default": "error",
          "description": "What to do when command line arguments, e.g. files and globs like `dir::`, cannot be found\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#unmatched_cli_globs",
          "enum": ["ignore", "warn", "error"]
        },
        "verify_config": {
          "default": true,
          "description": "Verify that all config file values correspond to known options\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#verify_config",
          "type": "boolean"
        },
        "watch_filesystem": {
          "default": true,
          "description": "Set to False if Pants should not watch the filesystem for changes. `pantsd` or `loop` may not be enabled\nhttps://www.pantsbuild.org/v2.14/docs/reference-global#watch_filesystem",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "anonymous-telemetry": {
      "description": "Options related to sending anonymous stats to the Pants project, to aid development.",
      "properties": {
        "enabled": {
          "default": false,
          "description": "Whether to send anonymous telemetry to the Pants project\nhttps://www.pantsbuild.org/v2.14/docs/reference-anonymous-telemetry#enabled",
          "type": "boolean"
        },
        "repo_id": {
          "default": null,
          "description": "An anonymized ID representing this repo\nhttps://www.pantsbuild.org/v2.14/docs/reference-anonymous-telemetry#repo_id",
          "type": "string"
        }
      },
      "type": "object"
    },
    "auth": {
      "description": "Set up for authenticating with Toolchain.",
      "properties": {
        "auth_file": {
          "default": ".pants.d/toolchain_auth/auth_token.json",
          "description": "Path (relative to the repo root) at which to store and read the auth token\nhttps://www.pantsbuild.org/v2.14/docs/reference-auth#auth_file",
          "type": "string"
        },
        "ci_env_variables": {
          "default": [],
          "description": "Environment variables in CI used to identify the build (used for restricted tokens)\nhttps://www.pantsbuild.org/v2.14/docs/reference-auth#ci_env_variables",
          "type": "array"
        },
        "from_env_var": {
          "default": null,
          "description": "Load the access token from this environment variable\nhttps://www.pantsbuild.org/v2.14/docs/reference-auth#from_env_var",
          "type": "string"
        },
        "org": {
          "default": null,
          "description": "Organization slug for public repo PRs\nhttps://www.pantsbuild.org/v2.14/docs/reference-auth#org",
          "type": "string"
        },
        "restricted_token_matches": {
          "default": {},
          "description": "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\nhttps://www.pantsbuild.org/v2.14/docs/reference-auth#restricted_token_matches",
          "type": "object"
        },
        "token_expiration_threshold": {
          "default": 30,
          "description": "Threshold (in minutes) for token TTL before plugin asks for a new token\nhttps://www.pantsbuild.org/v2.14/docs/reference-auth#token_expiration_threshold",
          "type": "number"
        }
      },
      "type": "object"
    },
    "auth-acquire": {
      "description": "Acquire access tokens for the Toolchain service.",
      "properties": {
        "description": {
          "default": null,
          "description": "Token description\nhttps://www.pantsbuild.org/v2.14/docs/reference-auth-acquire#description",
          "type": "string"
        },
        "for_ci": {
          "default": false,
          "description": "Generate a token with impersonation permissions that can be used in CI. Limited to org owners/admins\nhttps://www.pantsbuild.org/v2.14/docs/reference-auth-acquire#for_ci",
          "type": "boolean"
        },
        "headless": {
          "default": false,
          "description": "Don't open a browser when acquiring the access token\nhttps://www.pantsbuild.org/v2.14/docs/reference-auth-acquire#headless",
          "type": "boolean"
        },
        "local_port": {
          "default": null,
          "description": "Local web server port\nhttps://www.pantsbuild.org/v2.14/docs/reference-auth-acquire#local_port",
          "type": "number"
        },
        "output": {
          "default": "file",
          "description": "Output method for the access token\nhttps://www.pantsbuild.org/v2.14/docs/reference-auth-acquire#output",
          "enum": ["file", "console"]
        },
        "remote_execution": {
          "default": false,
          "description": "[Limited Beta] Asks for a token with remote execution permissions\nhttps://www.pantsbuild.org/v2.14/docs/reference-auth-acquire#remote_execution",
          "type": "boolean"
        },
        "test_page": {
          "default": "na",
          "description": "Helper to test success and error pages without triggering the auth flow\nhttps://www.pantsbuild.org/v2.14/docs/reference-auth-acquire#test_page",
          "enum": ["na", "success", "error"]
        }
      },
      "type": "object"
    },
    "auth-token-check": {
      "description": "Check if the Toolchain auth token has expired or if it is about to expire",
      "properties": {
        "threshold": {
          "default": 14,
          "description": "Threshold in days to fail the check before the token expiration\nhttps://www.pantsbuild.org/v2.14/docs/reference-auth-token-check#threshold",
          "type": "number"
        }
      },
      "type": "object"
    },
    "auth-token-info": {
      "description": "Show information about the current auth token used to access the Toolchain service",
      "properties": {
        "json": {
          "default": false,
          "description": "Show JWT claims in JSON format (implies `verbose`)\nhttps://www.pantsbuild.org/v2.14/docs/reference-auth-token-info#json",
          "type": "boolean"
        },
        "verbose": {
          "default": false,
          "description": "Show all JWT claims for the current auth token\nhttps://www.pantsbuild.org/v2.14/docs/reference-auth-token-info#verbose",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "autoflake": {
      "description": "The Autoflake Python code formatter (https://github.com/myint/autoflake).",
      "properties": {
        "args": {
          "default": ["--remove-all-unused-imports"],
          "description": "Arguments to pass directly to Autoflake, e.g. `--autoflake-args='--remove-all-unused-imports --target-version=py37 --quiet'`\nhttps://www.pantsbuild.org/v2.14/docs/reference-autoflake#args",
          "type": "array"
        },
        "console_script": {
          "default": "autoflake",
          "description": "The console script for the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-autoflake#console_script",
          "type": "string"
        },
        "entry_point": {
          "default": null,
          "description": "The entry point for the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-autoflake#entry_point",
          "type": "string"
        },
        "export": {
          "default": true,
          "description": "If true, export a virtual environment with Autoflake when running `./pants export`\nhttps://www.pantsbuild.org/v2.14/docs/reference-autoflake#export",
          "type": "boolean"
        },
        "extra_requirements": {
          "default": [],
          "description": "Any additional requirement strings to use with the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-autoflake#extra_requirements",
          "type": "array"
        },
        "interpreter_constraints": {
          "default": ["CPython>=3.7,<4"],
          "description": "Python interpreter constraints for this tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-autoflake#interpreter_constraints",
          "type": "array"
        },
        "lockfile": {
          "default": "<default>",
          "description": "Path to a lockfile used for installing the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-autoflake#lockfile",
          "type": "string"
        },
        "skip": {
          "default": false,
          "description": "If true, don't use Autoflake when running `./pants fmt` and `./pants lint`\nhttps://www.pantsbuild.org/v2.14/docs/reference-autoflake#skip",
          "type": "boolean"
        },
        "version": {
          "default": "autoflake==1.4",
          "description": "Requirement string for the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-autoflake#version",
          "type": "string"
        }
      },
      "type": "object"
    },
    "black": {
      "description": "The Black Python code formatter (https://black.readthedocs.io/).",
      "properties": {
        "args": {
          "default": [],
          "description": "Arguments to pass directly to Black, e.g. `--black-args='--target-version=py37 --quiet'`\nhttps://www.pantsbuild.org/v2.14/docs/reference-black#args",
          "type": "array"
        },
        "config": {
          "default": null,
          "description": "Path to a TOML config file understood by Black (https://github.com/psf/black#configuration-format)\nhttps://www.pantsbuild.org/v2.14/docs/reference-black#config"
        },
        "config_discovery": {
          "default": true,
          "description": "If true, Pants will include any relevant pyproject.toml config files during runs\nhttps://www.pantsbuild.org/v2.14/docs/reference-black#config_discovery",
          "type": "boolean"
        },
        "console_script": {
          "default": "black",
          "description": "The console script for the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-black#console_script",
          "type": "string"
        },
        "entry_point": {
          "default": null,
          "description": "The entry point for the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-black#entry_point",
          "type": "string"
        },
        "export": {
          "default": true,
          "description": "If true, export a virtual environment with Black when running `./pants export`\nhttps://www.pantsbuild.org/v2.14/docs/reference-black#export",
          "type": "boolean"
        },
        "extra_requirements": {
          "default": ["typing-extensions>=3.10.0.0; python_version < \"3.10\""],
          "description": "Any additional requirement strings to use with the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-black#extra_requirements",
          "type": "array"
        },
        "interpreter_constraints": {
          "default": ["CPython>=3.7,<4"],
          "description": "Python interpreter constraints for this tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-black#interpreter_constraints",
          "type": "array"
        },
        "lockfile": {
          "default": "<default>",
          "description": "Path to a lockfile used for installing the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-black#lockfile",
          "type": "string"
        },
        "skip": {
          "default": false,
          "description": "If true, don't use Black when running `./pants fmt` and `./pants lint`\nhttps://www.pantsbuild.org/v2.14/docs/reference-black#skip",
          "type": "boolean"
        },
        "version": {
          "default": "black==22.6.0",
          "description": "Requirement string for the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-black#version",
          "type": "string"
        }
      },
      "type": "object"
    },
    "buildsense": {
      "description": "Configuration for Toolchain's BuildSense reporting.",
      "properties": {
        "ci_env_scrub_terms": {
          "default": ["ACCESS", "TOKEN", "SECRET", "JWT"],
          "description": "patterns for environment variables to exclude from uploaded CI env variables\nhttps://www.pantsbuild.org/v2.14/docs/reference-buildsense#ci_env_scrub_terms",
          "type": "array"
        },
        "ci_env_var_pattern": {
          "default": null,
          "description": "CI Environment variables regex pattern\nhttps://www.pantsbuild.org/v2.14/docs/reference-buildsense#ci_env_var_pattern",
          "type": "string"
        },
        "collect_platform_data": {
          "default": false,
          "description": "Should BuildSense collect and upload platform platform information (os version, platform architecture, python version, etc...)\nhttps://www.pantsbuild.org/v2.14/docs/reference-buildsense#collect_platform_data",
          "type": "boolean"
        },
        "dry_run": {
          "default": false,
          "description": "Go thru the motions w/o making network calls\nhttps://www.pantsbuild.org/v2.14/docs/reference-buildsense#dry_run",
          "type": "boolean"
        },
        "enable": {
          "default": true,
          "description": "Enables the BuildSense reporter plugin\nhttps://www.pantsbuild.org/v2.14/docs/reference-buildsense#enable",
          "type": "boolean"
        },
        "local_build_store": {
          "default": true,
          "description": "Store failed uploads and try to upload later\nhttps://www.pantsbuild.org/v2.14/docs/reference-buildsense#local_build_store",
          "type": "boolean"
        },
        "local_store_base": {
          "default": ".pants.d/toolchain/buildsense/",
          "description": "Base directory for storing buildsense data locally\nhttps://www.pantsbuild.org/v2.14/docs/reference-buildsense#local_store_base",
          "type": "string"
        },
        "log_final_upload_latency": {
          "default": false,
          "description": "Should BuildSense log the time it took to upload data at the end of the run\nhttps://www.pantsbuild.org/v2.14/docs/reference-buildsense#log_final_upload_latency",
          "type": "boolean"
        },
        "log_upload": {
          "default": true,
          "description": "Upload pants logs to buildsense\nhttps://www.pantsbuild.org/v2.14/docs/reference-buildsense#log_upload",
          "type": "boolean"
        },
        "max_batch_size_mb": {
          "default": 20,
          "description": "Maximum batch size to try and upload (uncompressed)\nhttps://www.pantsbuild.org/v2.14/docs/reference-buildsense#max_batch_size_mb",
          "type": "number"
        },
        "show_link": {
          "default": true,
          "description": "Show link to the pants run in BuildSense Web UI\nhttps://www.pantsbuild.org/v2.14/docs/reference-buildsense#show_link",
          "type": "boolean"
        },
        "timeout": {
          "default": 10,
          "description": "Wait at most this many seconds for network calls to complete\nhttps://www.pantsbuild.org/v2.14/docs/reference-buildsense#timeout",
          "type": "number"
        }
      },
      "type": "object"
    },
    "changed": {
      "description": "Tell Pants to detect what files and targets have changed from Git.\n\nSee https://www.pantsbuild.org/v2.14/docs/advanced-target-selection.",
      "properties": {
        "dependees": {
          "default": "none",
          "description": "Include direct or transitive dependees of changed targets\nhttps://www.pantsbuild.org/v2.14/docs/reference-changed#dependees",
          "enum": ["none", "direct", "transitive"]
        },
        "diffspec": {
          "default": null,
          "description": "Calculate changes contained within a given Git spec (commit range/SHA/ref)\nhttps://www.pantsbuild.org/v2.14/docs/reference-changed#diffspec",
          "type": "string"
        },
        "since": {
          "default": null,
          "description": "Calculate changes since this Git spec (commit range/SHA/ref)\nhttps://www.pantsbuild.org/v2.14/docs/reference-changed#since",
          "type": "string"
        }
      },
      "type": "object"
    },
    "check": {
      "description": "Run type checking or the lightest variant of compilation available for a language.",
      "properties": {
        "only": {
          "default": [],
          "description": "Only run these checkerss and skip all others\nhttps://www.pantsbuild.org/v2.14/docs/reference-check#only",
          "type": "array"
        }
      },
      "type": "object"
    },
    "check-default-tools": {
      "description": "Options for checking that external tool default locations are correctly typed.",
      "properties": {},
      "type": "object"
    },
    "cli": {
      "description": "Options for configuring CLI behavior, such as command line aliases.",
      "properties": {
        "alias": {
          "default": {},
          "description": "Register command line aliases\nhttps://www.pantsbuild.org/v2.14/docs/reference-cli#alias",
          "type": "object"
        }
      },
      "type": "object"
    },
    "count-loc": {
      "description": "Count lines of code.",
      "properties": {},
      "type": "object"
    },
    "coursier": {
      "description": "A dependency resolver for the Maven ecosystem. (https://get-coursier.io/)",
      "properties": {
        "known_versions": {
          "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"
          ],
          "description": "Known versions to verify downloads against\nhttps://www.pantsbuild.org/v2.14/docs/reference-coursier#known_versions",
          "type": "array"
        },
        "repos": {
          "default": [
            "https://maven-central.storage-download.googleapis.com/maven2",
            "https://repo1.maven.org/maven2"
          ],
          "description": "Maven style repositories to resolve artifacts from\nhttps://www.pantsbuild.org/v2.14/docs/reference-coursier#repos",
          "type": "array"
        },
        "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"
          },
          "description": "A dictionary mapping platforms to strings to be used when generating the URL to download the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-coursier#url_platform_mapping",
          "type": "object"
        },
        "url_template": {
          "default": "https://github.com/coursier/coursier/releases/download/{version}/cs-{platform}.gz",
          "description": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file)\nhttps://www.pantsbuild.org/v2.14/docs/reference-coursier#url_template",
          "type": "string"
        },
        "use_unsupported_version": {
          "default": "error",
          "description": "What action to take in case the requested version of coursier is not supported\nhttps://www.pantsbuild.org/v2.14/docs/reference-coursier#use_unsupported_version",
          "enum": ["error", "warning"]
        },
        "version": {
          "default": "v2.1.0-M5-18-gfebf9838c",
          "description": "Use this version of coursier\nhttps://www.pantsbuild.org/v2.14/docs/reference-coursier#version",
          "type": "string"
        }
      },
      "type": "object"
    },
    "coverage-py": {
      "description": "Configuration for Python test coverage measurement.",
      "properties": {
        "config": {
          "default": null,
          "description": "Path to an INI or TOML config file understood by coverage.py (https://coverage.readthedocs.io/en/stable/config.html)\nhttps://www.pantsbuild.org/v2.14/docs/reference-coverage-py#config"
        },
        "config_discovery": {
          "default": true,
          "description": "If true, Pants will include any relevant config files during runs (`.coveragerc`, `setup.cfg`, `tox.ini`, and `pyproject.toml`)\nhttps://www.pantsbuild.org/v2.14/docs/reference-coverage-py#config_discovery",
          "type": "boolean"
        },
        "console_script": {
          "default": "coverage",
          "description": "The console script for the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-coverage-py#console_script",
          "type": "string"
        },
        "entry_point": {
          "default": null,
          "description": "The entry point for the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-coverage-py#entry_point",
          "type": "string"
        },
        "extra_requirements": {
          "default": [],
          "description": "Any additional requirement strings to use with the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-coverage-py#extra_requirements",
          "type": "array"
        },
        "fail_under": {
          "default": null,
          "description": "Fail if the total combined coverage percentage for all tests is less than this number\nhttps://www.pantsbuild.org/v2.14/docs/reference-coverage-py#fail_under",
          "type": "number"
        },
        "filter": {
          "default": [],
          "description": "A list of Python modules or filesystem paths to use in the coverage report, e.g. `['helloworld_test', 'helloworld/util/dirutil']\nhttps://www.pantsbuild.org/v2.14/docs/reference-coverage-py#filter",
          "type": "array"
        },
        "global_report": {
          "default": false,
          "description": "If true, Pants will generate a global coverage report\nhttps://www.pantsbuild.org/v2.14/docs/reference-coverage-py#global_report",
          "type": "boolean"
        },
        "interpreter_constraints": {
          "default": ["CPython>=3.7,<4"],
          "description": "Python interpreter constraints for this tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-coverage-py#interpreter_constraints",
          "type": "array"
        },
        "lockfile": {
          "default": "<default>",
          "description": "Path to a lockfile used for installing the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-coverage-py#lockfile",
          "type": "string"
        },
        "output_dir": {
          "default": "{distdir}/coverage/python",
          "description": "Path to write the Pytest Coverage report to\nhttps://www.pantsbuild.org/v2.14/docs/reference-coverage-py#output_dir",
          "type": "string"
        },
        "report": {
          "default": ["console"],
          "description": "Which coverage report type(s) to emit\nhttps://www.pantsbuild.org/v2.14/docs/reference-coverage-py#report",
          "enum": ["console", "xml", "html", "raw", "json"]
        },
        "version": {
          "default": "coverage[toml]>=5.5,<5.6",
          "description": "Requirement string for the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-coverage-py#version",
          "type": "string"
        }
      },
      "type": "object"
    },
    "debug-adapter": {
      "description": "Options used to configure and launch a Debug Adapter server.\n\nSee https://microsoft.github.io/debug-adapter-protocol/ for more information.",
      "properties": {
        "host": {
          "default": "127.0.0.1",
          "description": "The hostname to use when launching the server\nhttps://www.pantsbuild.org/v2.14/docs/reference-debug-adapter#host",
          "type": "string"
        },
        "port": {
          "default": 5678,
          "description": "The port to use when launching the server\nhttps://www.pantsbuild.org/v2.14/docs/reference-debug-adapter#port",
          "type": "number"
        }
      },
      "type": "object"
    },
    "debugpy": {
      "description": "An implementation of the Debug Adapter Protocol for Python (https://github.com/microsoft/debugpy).",
      "properties": {
        "args": {
          "default": [],
          "description": "Arguments to pass directly to debugpy, e.g. `--debugpy-args='--log-to-stderr'`\nhttps://www.pantsbuild.org/v2.14/docs/reference-debugpy#args",
          "type": "array"
        },
        "console_script": {
          "default": null,
          "description": "The console script for the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-debugpy#console_script",
          "type": "string"
        },
        "entry_point": {
          "default": "debugpy",
          "description": "The entry point for the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-debugpy#entry_point",
          "type": "string"
        },
        "extra_requirements": {
          "default": [],
          "description": "Any additional requirement strings to use with the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-debugpy#extra_requirements",
          "type": "array"
        },
        "interpreter_constraints": {
          "default": ["CPython>=3.7,<3.11"],
          "description": "Python interpreter constraints for this tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-debugpy#interpreter_constraints",
          "type": "array"
        },
        "lockfile": {
          "default": "<default>",
          "description": "Path to a lockfile used for installing the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-debugpy#lockfile",
          "type": "string"
        },
        "version": {
          "default": "debugpy==1.6.0",
          "description": "Requirement string for the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-debugpy#version",
          "type": "string"
        }
      },
      "type": "object"
    },
    "dependees": {
      "description": "List all targets that depend on any of the input files/targets.",
      "properties": {
        "closed": {
          "default": false,
          "description": "Include the input targets in the output, along with the dependees\nhttps://www.pantsbuild.org/v2.14/docs/reference-dependees#closed",
          "type": "boolean"
        },
        "output_file": {
          "default": null,
          "description": "Output the goal's stdout to this file\nhttps://www.pantsbuild.org/v2.14/docs/reference-dependees#output_file",
          "type": "string"
        },
        "sep": {
          "default": "\\n",
          "description": "String to use to separate lines in line-oriented output\nhttps://www.pantsbuild.org/v2.14/docs/reference-dependees#sep",
          "type": "string"
        },
        "transitive": {
          "default": false,
          "description": "List all transitive dependees\nhttps://www.pantsbuild.org/v2.14/docs/reference-dependees#transitive",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "dependencies": {
      "description": "List the dependencies of the input files/targets.",
      "properties": {
        "closed": {
          "default": false,
          "description": "Include the input targets in the output, along with the dependencies\nhttps://www.pantsbuild.org/v2.14/docs/reference-dependencies#closed",
          "type": "boolean"
        },
        "output_file": {
          "default": null,
          "description": "Output the goal's stdout to this file\nhttps://www.pantsbuild.org/v2.14/docs/reference-dependencies#output_file",
          "type": "string"
        },
        "sep": {
          "default": "\\n",
          "description": "String to use to separate lines in line-oriented output\nhttps://www.pantsbuild.org/v2.14/docs/reference-dependencies#sep",
          "type": "string"
        },
        "transitive": {
          "default": false,
          "description": "List all transitive dependencies\nhttps://www.pantsbuild.org/v2.14/docs/reference-dependencies#transitive",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "docformatter": {
      "description": "The Python docformatter tool (https://github.com/myint/docformatter).",
      "properties": {
        "args": {
          "default": [],
          "description": "Arguments to pass directly to docformatter, e.g. `--docformatter-args='--wrap-summaries=100 --pre-summary-newline'`\nhttps://www.pantsbuild.org/v2.14/docs/reference-docformatter#args",
          "type": "array"
        },
        "console_script": {
          "default": "docformatter",
          "description": "The console script for the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-docformatter#console_script",
          "type": "string"
        },
        "entry_point": {
          "default": null,
          "description": "The entry point for the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-docformatter#entry_point",
          "type": "string"
        },
        "export": {
          "default": true,
          "description": "If true, export a virtual environment with docformatter when running `./pants export`\nhttps://www.pantsbuild.org/v2.14/docs/reference-docformatter#export",
          "type": "boolean"
        },
        "extra_requirements": {
          "default": [],
          "description": "Any additional requirement strings to use with the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-docformatter#extra_requirements",
          "type": "array"
        },
        "interpreter_constraints": {
          "default": ["CPython>=3.7,<4"],
          "description": "Python interpreter constraints for this tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-docformatter#interpreter_constraints",
          "type": "array"
        },
        "lockfile": {
          "default": "<default>",
          "description": "Path to a lockfile used for installing the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-docformatter#lockfile",
          "type": "string"
        },
        "skip": {
          "default": false,
          "description": "If true, don't use docformatter when running `./pants fmt` and `./pants lint`\nhttps://www.pantsbuild.org/v2.14/docs/reference-docformatter#skip",
          "type": "boolean"
        },
        "version": {
          "default": "docformatter>=1.4,<1.5",
          "description": "Requirement string for the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-docformatter#version",
          "type": "string"
        }
      },
      "type": "object"
    },
    "docker": {
      "description": "Options for interacting with Docker.",
      "properties": {
        "build_args": {
          "default": [],
          "description": "Global build arguments (for Docker `--build-arg` options) to use for all `docker build` invocations\nhttps://www.pantsbuild.org/v2.14/docs/reference-docker#build_args",
          "type": "array"
        },
        "build_target_stage": {
          "default": null,
          "description": "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`\nhttps://www.pantsbuild.org/v2.14/docs/reference-docker#build_target_stage",
          "type": "string"
        },
        "build_verbose": {
          "default": false,
          "description": "Whether to log the Docker output to the console\nhttps://www.pantsbuild.org/v2.14/docs/reference-docker#build_verbose",
          "type": "boolean"
        },
        "default_context_root": {
          "default": "",
          "description": "Provide a default Docker build context root path for `docker_image` targets that does not specify their own `context_root` field\nhttps://www.pantsbuild.org/v2.14/docs/reference-docker#default_context_root"
        },
        "default_repository": {
          "default": "{name}",
          "description": "Configure the default repository name used in the Docker image tag\nhttps://www.pantsbuild.org/v2.14/docs/reference-docker#default_repository",
          "type": "string"
        },
        "env_vars": {
          "default": [],
          "description": "Environment variables to set for `docker` invocations\nhttps://www.pantsbuild.org/v2.14/docs/reference-docker#env_vars",
          "type": "array"
        },
        "executable_search_paths": {
          "default": ["<PATH>"],
          "description": "The PATH value that will be used to find the Docker client and any tools required\nhttps://www.pantsbuild.org/v2.14/docs/reference-docker#executable_search_paths",
          "type": "array"
        },
        "registries": {
          "default": {},
          "description": "Configure Docker registries\nhttps://www.pantsbuild.org/v2.14/docs/reference-docker#registries",
          "oneOf": [
            {
              "type": "object"
            },
            {
              "type": "string"
            }
          ]
        },
        "run_args": {
          "default": [],
          "description": "Additional arguments to use for `docker run` invocations\nhttps://www.pantsbuild.org/v2.14/docs/reference-docker#run_args",
          "type": "array"
        },
        "tailor": {
          "default": true,
          "description": "If true, add `docker_image` targets with the `tailor` goal\nhttps://www.pantsbuild.org/v2.14/docs/reference-docker#tailor",
          "type": "boolean"
        },
        "tools": {
          "default": [],
          "description": "List any additional executable tools required for Docker to work\nhttps://www.pantsbuild.org/v2.14/docs/reference-docker#tools",
          "type": "array"
        }
      },
      "type": "object"
    },
    "dockerfile-parser": {
      "description": "Used to parse Dockerfile build specs to infer their dependencies.",
      "properties": {
        "extra_requirements": {
          "default": [],
          "description": "Any additional requirement strings to use with the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-dockerfile-parser#extra_requirements",
          "type": "array"
        },
        "interpreter_constraints": {
          "default": ["CPython>=3.7,<4"],
          "description": "Python interpreter constraints for this tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-dockerfile-parser#interpreter_constraints",
          "type": "array"
        },
        "lockfile": {
          "default": "<default>",
          "description": "Path to a lockfile used for installing the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-dockerfile-parser#lockfile",
          "type": "string"
        },
        "version": {
          "default": "dockerfile==3.2.0",
          "description": "Requirement string for the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-dockerfile-parser#version",
          "type": "string"
        }
      },
      "type": "object"
    },
    "experimental-bsp": {
      "description": "Setup repository for Build Server Protocol (https://build-server-protocol.github.io/).",
      "properties": {
        "groups_config_files": {
          "default": [],
          "description": "A list of config files that define groups of Pants targets to expose to IDEs via Build Server Protocol\nhttps://www.pantsbuild.org/v2.14/docs/reference-experimental-bsp#groups_config_files",
          "type": "array"
        },
        "runner_env_vars": {
          "default": ["PATH"],
          "description": "Environment variables to set in the BSP runner script when setting up BSP in a repository\nhttps://www.pantsbuild.org/v2.14/docs/reference-experimental-bsp#runner_env_vars",
          "type": "array"
        },
        "server": {
          "default": false,
          "description": "Run the Build Server Protocol server\nhttps://www.pantsbuild.org/v2.14/docs/reference-experimental-bsp#server",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "experimental-deploy": {
      "description": "Perform a deployment process.",
      "properties": {},
      "type": "object"
    },
    "experimental-explorer": {
      "description": "Run the Pants Explorer Web UI server.",
      "properties": {
        "address": {
          "default": "localhost",
          "description": "Server address to bind to\nhttps://www.pantsbuild.org/v2.14/docs/reference-experimental-explorer#address",
          "type": "string"
        },
        "port": {
          "default": 8000,
          "description": "Server port to bind to\nhttps://www.pantsbuild.org/v2.14/docs/reference-experimental-explorer#port",
          "type": "number"
        }
      },
      "type": "object"
    },
    "export": {
      "description": "Export Pants data for use in other tools, such as IDEs.",
      "properties": {},
      "type": "object"
    },
    "export-codegen": {
      "description": "Write generated files to `dist/codegen` for use outside of Pants.",
      "properties": {},
      "type": "object"
    },
    "filedeps": {
      "description": "List all source and BUILD files a target depends on.",
      "properties": {
        "absolute": {
          "default": false,
          "description": "If True, output with absolute path\nhttps://www.pantsbuild.org/v2.14/docs/reference-filedeps#absolute",
          "type": "boolean"
        },
        "globs": {
          "default": false,
          "description": "Instead of outputting filenames, output the original globs used in the BUILD file\nhttps://www.pantsbuild.org/v2.14/docs/reference-filedeps#globs",
          "type": "boolean"
        },
        "output_file": {
          "default": null,
          "description": "Output the goal's stdout to this file\nhttps://www.pantsbuild.org/v2.14/docs/reference-filedeps#output_file",
          "type": "string"
        },
        "sep": {
          "default": "\\n",
          "description": "String to use to separate lines in line-oriented output\nhttps://www.pantsbuild.org/v2.14/docs/reference-filedeps#sep",
          "type": "string"
        },
        "transitive": {
          "default": false,
          "description": "If True, list files from all dependencies, including transitive dependencies\nhttps://www.pantsbuild.org/v2.14/docs/reference-filedeps#transitive",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "filter": {
      "description": "Filter the input targets based on various criteria.\n\nMost 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.\n\nEach of the filtering options may be specified multiple times, with an implied logical AND between them.",
      "properties": {
        "address_regex": {
          "default": [],
          "description": "Filter on target addresses matching these regexes\nhttps://www.pantsbuild.org/v2.14/docs/reference-filter#address_regex",
          "type": "array"
        },
        "granularity": {
          "default": "all",
          "description": "Filter to rendering only targets declared in BUILD files, only file-level targets, or all targets\nhttps://www.pantsbuild.org/v2.14/docs/reference-filter#granularity",
          "enum": ["all", "file", "BUILD"]
        },
        "output_file": {
          "default": null,
          "description": "Output the goal's stdout to this file\nhttps://www.pantsbuild.org/v2.14/docs/reference-filter#output_file",
          "type": "string"
        },
        "sep": {
          "default": "\\n",
          "description": "String to use to separate lines in line-oriented output\nhttps://www.pantsbuild.org/v2.14/docs/reference-filter#sep",
          "type": "string"
        },
        "tag_regex": {
          "default": [],
          "description": "Filter on targets with tags matching these regexes\nhttps://www.pantsbuild.org/v2.14/docs/reference-filter#tag_regex",
          "type": "array"
        },
        "target_type": {
          "default": [],
          "description": "Filter on these target types, e.g. `resources` or `python_sources`\nhttps://www.pantsbuild.org/v2.14/docs/reference-filter#target_type",
          "type": "array"
        }
      },
      "type": "object"
    },
    "flake8": {
      "description": "The Flake8 Python linter (https://flake8.pycqa.org/).",
      "properties": {
        "args": {
          "default": [],
          "description": "Arguments to pass directly to Flake8, e.g. `--flake8-args='--ignore E123,W456 --enable-extensions H111'`\nhttps://www.pantsbuild.org/v2.14/docs/reference-flake8#args",
          "type": "array"
        },
        "config": {
          "default": null,
          "description": "Path to an INI config file understood by Flake8 (https://flake8.pycqa.org/en/latest/user/configuration.html)\nhttps://www.pantsbuild.org/v2.14/docs/reference-flake8#config"
        },
        "config_discovery": {
          "default": true,
          "description": "If true, Pants will include any relevant config files during runs (`.flake8`, `flake8`, `setup.cfg`, and `tox.ini`)\nhttps://www.pantsbuild.org/v2.14/docs/reference-flake8#config_discovery",
          "type": "boolean"
        },
        "console_script": {
          "default": "flake8",
          "description": "The console script for the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-flake8#console_script",
          "type": "string"
        },
        "entry_point": {
          "default": null,
          "description": "The entry point for the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-flake8#entry_point",
          "type": "string"
        },
        "export": {
          "default": true,
          "description": "If true, export a virtual environment with Flake8 when running `./pants export`\nhttps://www.pantsbuild.org/v2.14/docs/reference-flake8#export",
          "type": "boolean"
        },
        "extra_files": {
          "default": [],
          "description": "Paths to extra files to include in the sandbox\nhttps://www.pantsbuild.org/v2.14/docs/reference-flake8#extra_files",
          "type": "array"
        },
        "extra_requirements": {
          "default": [],
          "description": "Any additional requirement strings to use with the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-flake8#extra_requirements",
          "type": "array"
        },
        "lockfile": {
          "default": "<default>",
          "description": "Path to a lockfile used for installing the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-flake8#lockfile",
          "type": "string"
        },
        "skip": {
          "default": false,
          "description": "If true, don't use Flake8 when running `./pants lint`\nhttps://www.pantsbuild.org/v2.14/docs/reference-flake8#skip",
          "type": "boolean"
        },
        "source_plugins": {
          "default": [],
          "description": "An optional list of `python_sources` target addresses to load first-party plugins\nhttps://www.pantsbuild.org/v2.14/docs/reference-flake8#source_plugins",
          "type": "array"
        },
        "version": {
          "default": "flake8>=3.9.2,<4.0",
          "description": "Requirement string for the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-flake8#version",
          "type": "string"
        }
      },
      "type": "object"
    },
    "fmt": {
      "description": "Autoformat source code.",
      "properties": {
        "batch_size": {
          "default": 128,
          "description": "The target number of files to be included in each formatter batch\nhttps://www.pantsbuild.org/v2.14/docs/reference-fmt#batch_size",
          "type": "number"
        },
        "only": {
          "default": [],
          "description": "Only run these formatters and skip all others\nhttps://www.pantsbuild.org/v2.14/docs/reference-fmt#only",
          "type": "array"
        }
      },
      "type": "object"
    },
    "generate-lockfiles": {
      "description": "Generate lockfiles for Python third-party dependencies.",
      "properties": {
        "custom_command": {
          "default": null,
          "description": "If set, lockfile headers will say to run this command to regenerate the lockfile, rather than running `./pants generate-lockfiles --resolve=<name>` like normal\nhttps://www.pantsbuild.org/v2.14/docs/reference-generate-lockfiles#custom_command",
          "type": "string"
        },
        "resolve": {
          "default": [],
          "description": "Only generate lockfiles for the specified resolve(s)\nhttps://www.pantsbuild.org/v2.14/docs/reference-generate-lockfiles#resolve",
          "type": "array"
        }
      },
      "type": "object"
    },
    "go-test": {
      "description": "Options for Go tests.",
      "properties": {
        "args": {
          "default": [],
          "description": "Arguments to pass directly to Go test binary, e.g. `--go-test-args='-run TestFoo -v'`\nhttps://www.pantsbuild.org/v2.14/docs/reference-go-test#args",
          "type": "array"
        },
        "cover_mode": {
          "default": "set",
          "description": "Coverage mode to use when running Go tests with coverage analysis enabled via --test-use-coverage\nhttps://www.pantsbuild.org/v2.14/docs/reference-go-test#cover_mode",
          "enum": ["set", "count", "atomic"]
        },
        "coverage_output_dir": {
          "default": "{distdir}/coverage/go/{import_path_escaped}",
          "description": "Path to write the Go coverage reports to\nhttps://www.pantsbuild.org/v2.14/docs/reference-go-test#coverage_output_dir",
          "type": "string"
        }
      },
      "type": "object"
    },
    "gofmt": {
      "description": "Gofmt-specific options.",
      "properties": {
        "skip": {
          "default": false,
          "description": "If true, don't use gofmt when running `./pants fmt` and `./pants lint`\nhttps://www.pantsbuild.org/v2.14/docs/reference-gofmt#skip",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "golang": {
      "description": "Options for Golang support.",
      "properties": {
        "asdf_bin_relpath": {
          "default": "bin",
          "description": "The path relative to an ASDF install directory to use to find the `bin` directory within an installed Go distribution\nhttps://www.pantsbuild.org/v2.14/docs/reference-golang#asdf_bin_relpath",
          "type": "string"
        },
        "asdf_tool_name": {
          "default": "go-sdk",
          "description": "The ASDF tool name to use when searching for installed Go distributions using the ASDF tool manager (https://asdf-vm.com/)\nhttps://www.pantsbuild.org/v2.14/docs/reference-golang#asdf_tool_name",
          "type": "string"
        },
        "go_search_paths": {
          "default": ["<PATH>"],
          "description": "A list of paths to search for Go\nhttps://www.pantsbuild.org/v2.14/docs/reference-golang#go_search_paths",
          "type": "array"
        },
        "minimum_expected_version": {
          "default": "1.17",
          "description": "The minimum Go version the distribution discovered by Pants must support\nhttps://www.pantsbuild.org/v2.14/docs/reference-golang#minimum_expected_version",
          "type": "string"
        },
        "subprocess_env_vars": {
          "default": ["LANG", "LC_CTYPE", "LC_ALL", "PATH"],
          "description": "Environment variables to set when invoking the `go` tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-golang#subprocess_env_vars",
          "type": "array"
        },
        "tailor_binary_targets": {
          "default": true,
          "description": "If true, add a `go_binary` target with the `tailor` goal in every directory with a `.go` file with `package main`\nhttps://www.pantsbuild.org/v2.14/docs/reference-golang#tailor_binary_targets",
          "type": "boolean"
        },
        "tailor_go_mod_targets": {
          "default": true,
          "description": "If true, add a `go_mod` target with the `tailor` goal wherever there is a `go.mod` file\nhttps://www.pantsbuild.org/v2.14/docs/reference-golang#tailor_go_mod_targets",
          "type": "boolean"
        },
        "tailor_package_targets": {
          "default": true,
          "description": "If true, add a `go_package` target with the `tailor` goal in every directory with a `.go` file\nhttps://www.pantsbuild.org/v2.14/docs/reference-golang#tailor_package_targets",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "google-java-format": {
      "description": "Google Java Format (https://github.com/google/google-java-format)",
      "properties": {
        "aosp": {
          "default": false,
          "description": "Use AOSP style instead of Google Style (4-space indentation). (\"AOSP\" is the Android Open Source Project.)\nhttps://www.pantsbuild.org/v2.14/docs/reference-google-java-format#aosp",
          "type": "boolean"
        },
        "artifacts": {
          "default": [
            "com.google.googlejavaformat:google-java-format:{version}"
          ],
          "description": "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)\nhttps://www.pantsbuild.org/v2.14/docs/reference-google-java-format#artifacts",
          "type": "array"
        },
        "jvm_options": {
          "default": [],
          "description": "List of JVM options to pass to `google-java-format` JVM processes\nhttps://www.pantsbuild.org/v2.14/docs/reference-google-java-format#jvm_options",
          "type": "array"
        },
        "lockfile": {
          "default": "<default>",
          "description": "Path to a lockfile used for installing the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-google-java-format#lockfile",
          "type": "string"
        },
        "skip": {
          "default": false,
          "description": "If true, don't use Google Java Format when running `./pants fmt` and `./pants lint`\nhttps://www.pantsbuild.org/v2.14/docs/reference-google-java-format#skip",
          "type": "boolean"
        },
        "version": {
          "default": "1.13.0",
          "description": "Version string for the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-google-java-format#version",
          "type": "string"
        }
      },
      "type": "object"
    },
    "graphql": {
      "description": "Options for the explorer GraphQL API.",
      "properties": {
        "open_graphiql": {
          "default": false,
          "description": "Open a new web browser tab with GraphiQL\nhttps://www.pantsbuild.org/v2.14/docs/reference-graphql#open_graphiql",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "hadolint": {
      "description": "A linter for Dockerfiles.",
      "properties": {
        "args": {
          "default": [],
          "description": "Arguments to pass directly to Hadolint, e.g. `--hadolint-args='--format json'`\nhttps://www.pantsbuild.org/v2.14/docs/reference-hadolint#args",
          "type": "array"
        },
        "config": {
          "default": null,
          "description": "Path to an YAML config file understood by Hadolint (https://github.com/hadolint/hadolint#configure)\nhttps://www.pantsbuild.org/v2.14/docs/reference-hadolint#config"
        },
        "config_discovery": {
          "default": true,
          "description": "If true, Pants will include all relevant config files during runs (`.hadolint.yaml` and `.hadolint.yml`)\nhttps://www.pantsbuild.org/v2.14/docs/reference-hadolint#config_discovery",
          "type": "boolean"
        },
        "known_versions": {
          "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"
          ],
          "description": "Known versions to verify downloads against\nhttps://www.pantsbuild.org/v2.14/docs/reference-hadolint#known_versions",
          "type": "array"
        },
        "skip": {
          "default": false,
          "description": "If true, don't use Hadolint when running `./pants lint`\nhttps://www.pantsbuild.org/v2.14/docs/reference-hadolint#skip",
          "type": "boolean"
        },
        "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"
          },
          "description": "A dictionary mapping platforms to strings to be used when generating the URL to download the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-hadolint#url_platform_mapping",
          "type": "object"
        },
        "url_template": {
          "default": "https://github.com/hadolint/hadolint/releases/download/{version}/hadolint-{platform}",
          "description": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file)\nhttps://www.pantsbuild.org/v2.14/docs/reference-hadolint#url_template",
          "type": "string"
        },
        "use_unsupported_version": {
          "default": "error",
          "description": "What action to take in case the requested version of Hadolint is not supported\nhttps://www.pantsbuild.org/v2.14/docs/reference-hadolint#use_unsupported_version",
          "enum": ["error", "warning"]
        },
        "version": {
          "default": "v2.10.0",
          "description": "Use this version of Hadolint\nhttps://www.pantsbuild.org/v2.14/docs/reference-hadolint#version",
          "type": "string"
        }
      },
      "type": "object"
    },
    "help": {
      "description": "Display usage message.",
      "properties": {},
      "type": "object"
    },
    "help-advanced": {
      "description": "Help for advanced options.",
      "properties": {},
      "type": "object"
    },
    "help-all": {
      "description": "Print a JSON object containing all help info.",
      "properties": {},
      "type": "object"
    },
    "internal-generate-test-lockfile-fixtures": {
      "description": "[Internal] Generate test lockfile fixtures for Pants tests.",
      "properties": {},
      "type": "object"
    },
    "ipython": {
      "description": "The IPython enhanced REPL (https://ipython.org/).",
      "properties": {
        "console_script": {
          "default": "ipython",
          "description": "The console script for the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-ipython#console_script",
          "type": "string"
        },
        "entry_point": {
          "default": null,
          "description": "The entry point for the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-ipython#entry_point",
          "type": "string"
        },
        "extra_requirements": {
          "default": [],
          "description": "Any additional requirement strings to use with the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-ipython#extra_requirements",
          "type": "array"
        },
        "ignore_cwd": {
          "default": true,
          "description": "Whether to tell IPython not to put the CWD on the import path\nhttps://www.pantsbuild.org/v2.14/docs/reference-ipython#ignore_cwd",
          "type": "boolean"
        },
        "lockfile": {
          "default": "<default>",
          "description": "Path to a lockfile used for installing the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-ipython#lockfile",
          "type": "string"
        },
        "version": {
          "default": "ipython>=7.34,<8",
          "description": "Requirement string for the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-ipython#version",
          "type": "string"
        }
      },
      "type": "object"
    },
    "isort": {
      "description": "The Python import sorter tool (https://pycqa.github.io/isort/).",
      "properties": {
        "args": {
          "default": [],
          "description": "Arguments to pass directly to isort, e.g. `--isort-args='--case-sensitive --trailing-comma'`\nhttps://www.pantsbuild.org/v2.14/docs/reference-isort#args",
          "type": "array"
        },
        "config": {
          "default": [],
          "description": "Path to config file understood by isort (https://pycqa.github.io/isort/docs/configuration/config_files/)\nhttps://www.pantsbuild.org/v2.14/docs/reference-isort#config",
          "type": "array"
        },
        "config_discovery": {
          "default": true,
          "description": "If true, Pants will include any relevant config files during runs (`.isort.cfg`, `pyproject.toml`, `setup.cfg`, `tox.ini` and `.editorconfig`)\nhttps://www.pantsbuild.org/v2.14/docs/reference-isort#config_discovery",
          "type": "boolean"
        },
        "console_script": {
          "default": "isort",
          "description": "The console script for the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-isort#console_script",
          "type": "string"
        },
        "entry_point": {
          "default": null,
          "description": "The entry point for the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-isort#entry_point",
          "type": "string"
        },
        "export": {
          "default": true,
          "description": "If true, export a virtual environment with isort when running `./pants export`\nhttps://www.pantsbuild.org/v2.14/docs/reference-isort#export",
          "type": "boolean"
        },
        "extra_requirements": {
          "default": [],
          "description": "Any additional requirement strings to use with the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-isort#extra_requirements",
          "type": "array"
        },
        "interpreter_constraints": {
          "default": ["CPython>=3.7,<4"],
          "description": "Python interpreter constraints for this tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-isort#interpreter_constraints",
          "type": "array"
        },
        "lockfile": {
          "default": "<default>",
          "description": "Path to a lockfile used for installing the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-isort#lockfile",
          "type": "string"
        },
        "skip": {
          "default": false,
          "description": "If true, don't use isort when running `./pants fmt` and `./pants lint`\nhttps://www.pantsbuild.org/v2.14/docs/reference-isort#skip",
          "type": "boolean"
        },
        "version": {
          "default": "isort[pyproject,colors]>=5.9.3,<6.0",
          "description": "Requirement string for the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-isort#version",
          "type": "string"
        }
      },
      "type": "object"
    },
    "java-dump-source-analysis": {
      "description": "Dump source analysis for java_source[s] targets.",
      "properties": {},
      "type": "object"
    },
    "java-infer": {
      "description": "Options controlling which dependencies will be inferred for Java targets.",
      "properties": {
        "consumed_types": {
          "default": true,
          "description": "Infer a target's dependencies by parsing consumed types from sources\nhttps://www.pantsbuild.org/v2.14/docs/reference-java-infer#consumed_types",
          "type": "boolean"
        },
        "imports": {
          "default": true,
          "description": "Infer a target's dependencies by parsing import statements from sources\nhttps://www.pantsbuild.org/v2.14/docs/reference-java-infer#imports",
          "type": "boolean"
        },
        "third_party_import_mapping": {
          "default": {},
          "description": "A dictionary mapping a Java package path to a JVM artifact coordinate (GROUP:ARTIFACT) without the version\nhttps://www.pantsbuild.org/v2.14/docs/reference-java-infer#third_party_import_mapping",
          "type": "object"
        }
      },
      "type": "object"
    },
    "javac": {
      "description": "The javac Java source compiler.",
      "properties": {
        "args": {
          "default": [],
          "description": "Arguments to pass directly to javac, e.g. `--javac-args='-g -deprecation'`\nhttps://www.pantsbuild.org/v2.14/docs/reference-javac#args",
          "type": "array"
        },
        "tailor_source_targets": {
          "default": true,
          "description": "If true, add `java_sources` and `java_tests` targets with the `tailor` goal\nhttps://www.pantsbuild.org/v2.14/docs/reference-javac#tailor_source_targets",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "junit": {
      "description": "The JUnit test framework (https://junit.org)",
      "properties": {
        "args": {
          "default": [],
          "description": "Arguments to pass directly to JUnit, e.g. `--junit-args='--disable-ansi-colors'`\nhttps://www.pantsbuild.org/v2.14/docs/reference-junit#args",
          "type": "array"
        },
        "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}"
          ],
          "description": "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)\nhttps://www.pantsbuild.org/v2.14/docs/reference-junit#artifacts",
          "type": "array"
        },
        "jvm_options": {
          "default": [],
          "description": "List of JVM options to pass to `junit` JVM processes\nhttps://www.pantsbuild.org/v2.14/docs/reference-junit#jvm_options",
          "type": "array"
        },
        "lockfile": {
          "default": "<default>",
          "description": "Path to a lockfile used for installing the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-junit#lockfile",
          "type": "string"
        },
        "version": {
          "default": "5.7.2",
          "description": "Version string for the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-junit#version",
          "type": "string"
        }
      },
      "type": "object"
    },
    "jvm": {
      "description": "Options for general JVM functionality.\n\nJDK 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.\n\nIf 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.",
      "properties": {
        "debug_args": {
          "default": [],
          "description": "Extra JVM arguments to use when running tests in debug mode\nhttps://www.pantsbuild.org/v2.14/docs/reference-jvm#debug_args",
          "type": "array"
        },
        "default_resolve": {
          "default": "jvm-default",
          "description": "The default value used for the `resolve` and `compatible_resolves` fields\nhttps://www.pantsbuild.org/v2.14/docs/reference-jvm#default_resolve",
          "type": "string"
        },
        "global_options": {
          "default": [],
          "description": "List of JVM options to pass to all JVM processes\nhttps://www.pantsbuild.org/v2.14/docs/reference-jvm#global_options",
          "type": "array"
        },
        "jdk": {
          "default": "temurin:1.11",
          "description": "The JDK to use\nhttps://www.pantsbuild.org/v2.14/docs/reference-jvm#jdk",
          "type": "string"
        },
        "nailgun_remote_cache_speculation_delay": {
          "default": 1000,
          "description": "The time in milliseconds to delay speculation of nailgun processes while reading from the remote cache\nhttps://www.pantsbuild.org/v2.14/docs/reference-jvm#nailgun_remote_cache_speculation_delay",
          "type": "number"
        },
        "reproducible_jars": {
          "default": false,
          "description": "When enabled, JAR files produced by JVM tools will have timestamps stripped\nhttps://www.pantsbuild.org/v2.14/docs/reference-jvm#reproducible_jars",
          "type": "boolean"
        },
        "resolves": {
          "default": {
            "jvm-default": "3rdparty/jvm/default.lock"
          },
          "description": "A dictionary mapping resolve names to the path of their lockfile\nhttps://www.pantsbuild.org/v2.14/docs/reference-jvm#resolves",
          "type": "object"
        },
        "tool_jdk": {
          "default": "temurin:1.11",
          "description": "The JDK to use when building and running Pants' internal JVM support code and other non-compiler tools\nhttps://www.pantsbuild.org/v2.14/docs/reference-jvm#tool_jdk",
          "type": "string"
        }
      },
      "type": "object"
    },
    "jvm-symbol-map": {
      "description": "Dump the JVM dependency inference symbol mapping.",
      "properties": {},
      "type": "object"
    },
    "lint": {
      "description": "Run all linters and/or formatters in check mode.",
      "properties": {
        "batch_size": {
          "default": 128,
          "description": "The target number of files to be included in each linter batch\nhttps://www.pantsbuild.org/v2.14/docs/reference-lint#batch_size",
          "type": "number"
        },
        "only": {
          "default": [],
          "description": "Only run these linters and skip all others\nhttps://www.pantsbuild.org/v2.14/docs/reference-lint#only",
          "type": "array"
        },
        "skip_formatters": {
          "default": false,
          "description": "If true, skip running all formatters in check-only mode\nhttps://www.pantsbuild.org/v2.14/docs/reference-lint#skip_formatters",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "list": {
      "description": "Lists all targets matching the file or target arguments.",
      "properties": {
        "documented": {
          "default": false,
          "description": "Print only targets that are documented with a description\nhttps://www.pantsbuild.org/v2.14/docs/reference-list#documented",
          "type": "boolean"
        },
        "output_file": {
          "default": null,
          "description": "Output the goal's stdout to this file\nhttps://www.pantsbuild.org/v2.14/docs/reference-list#output_file",
          "type": "string"
        },
        "sep": {
          "default": "\\n",
          "description": "String to use to separate lines in line-oriented output\nhttps://www.pantsbuild.org/v2.14/docs/reference-list#sep",
          "type": "string"
        }
      },
      "type": "object"
    },
    "mypy": {
      "description": "The MyPy Python type checker (http://mypy-lang.org/).",
      "properties": {
        "args": {
          "default": [],
          "description": "Arguments to pass directly to MyPy, e.g. `--mypy-args='--python-version 3.7 --disallow-any-expr'`\nhttps://www.pantsbuild.org/v2.14/docs/reference-mypy#args",
          "type": "array"
        },
        "config": {
          "default": null,
          "description": "Path to a config file understood by MyPy (https://mypy.readthedocs.io/en/stable/config_file.html)\nhttps://www.pantsbuild.org/v2.14/docs/reference-mypy#config"
        },
        "config_discovery": {
          "default": true,
          "description": "If true, Pants will include any relevant config files during runs (`mypy.ini`, `.mypy.ini`, and `setup.cfg`)\nhttps://www.pantsbuild.org/v2.14/docs/reference-mypy#config_discovery",
          "type": "boolean"
        },
        "console_script": {
          "default": "mypy",
          "description": "The console script for the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-mypy#console_script",
          "type": "string"
        },
        "entry_point": {
          "default": null,
          "description": "The entry point for the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-mypy#entry_point",
          "type": "string"
        },
        "export": {
          "default": true,
          "description": "If true, export a virtual environment with MyPy when running `./pants export`\nhttps://www.pantsbuild.org/v2.14/docs/reference-mypy#export",
          "type": "boolean"
        },
        "extra_requirements": {
          "default": [],
          "description": "Any additional requirement strings to use with the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-mypy#extra_requirements",
          "type": "array"
        },
        "extra_type_stubs": {
          "default": [],
          "description": "Extra type stub requirements to install when running MyPy\nhttps://www.pantsbuild.org/v2.14/docs/reference-mypy#extra_type_stubs",
          "type": "array"
        },
        "extra_type_stubs_lockfile": {
          "default": "<none>",
          "description": "Path to a lockfile for the option `[mypy].extra_type_stubs`\nhttps://www.pantsbuild.org/v2.14/docs/reference-mypy#extra_type_stubs_lockfile",
          "type": "string"
        },
        "interpreter_constraints": {
          "default": ["CPython>=3.7,<4"],
          "description": "Python interpreter constraints for this tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-mypy#interpreter_constraints",
          "type": "array"
        },
        "lockfile": {
          "default": "<default>",
          "description": "Path to a lockfile used for installing the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-mypy#lockfile",
          "type": "string"
        },
        "skip": {
          "default": false,
          "description": "If true, don't use MyPy when running `./pants check`\nhttps://www.pantsbuild.org/v2.14/docs/reference-mypy#skip",
          "type": "boolean"
        },
        "source_plugins": {
          "default": [],
          "description": "An optional list of `python_sources` target addresses to load first-party plugins\nhttps://www.pantsbuild.org/v2.14/docs/reference-mypy#source_plugins",
          "type": "array"
        },
        "version": {
          "default": "mypy==0.961",
          "description": "Requirement string for the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-mypy#version",
          "type": "string"
        }
      },
      "type": "object"
    },
    "package": {
      "description": "Create a distributable package.",
      "properties": {},
      "type": "object"
    },
    "pants-releases": {
      "description": "Options for Pants's release process.",
      "properties": {
        "release_notes": {
          "default": {},
          "description": "A dict from branch name to release notes rst-file location\nhttps://www.pantsbuild.org/v2.14/docs/reference-pants-releases#release_notes",
          "type": "object"
        }
      },
      "type": "object"
    },
    "paths": {
      "description": "List the paths between two addresses.",
      "properties": {
        "from": {
          "default": null,
          "description": "The path starting address\nhttps://www.pantsbuild.org/v2.14/docs/reference-paths#from",
          "type": "string"
        },
        "output_file": {
          "default": null,
          "description": "Output the goal's stdout to this file\nhttps://www.pantsbuild.org/v2.14/docs/reference-paths#output_file",
          "type": "string"
        },
        "to": {
          "default": null,
          "description": "The path end address\nhttps://www.pantsbuild.org/v2.14/docs/reference-paths#to",
          "type": "string"
        }
      },
      "type": "object"
    },
    "peek": {
      "description": "Display BUILD target info",
      "properties": {
        "exclude_defaults": {
          "default": false,
          "description": "Whether to leave off values that match the target-defined default values\nhttps://www.pantsbuild.org/v2.14/docs/reference-peek#exclude_defaults",
          "type": "boolean"
        },
        "output_file": {
          "default": null,
          "description": "Output the goal's stdout to this file\nhttps://www.pantsbuild.org/v2.14/docs/reference-peek#output_file",
          "type": "string"
        }
      },
      "type": "object"
    },
    "pex": {
      "description": "How Pants uses Pex to run Python subprocesses.",
      "properties": {
        "executable_search_paths": {
          "default": ["<PATH>"],
          "description": "The PATH value that will be used by the PEX subprocess and any subprocesses it spawns\nhttps://www.pantsbuild.org/v2.14/docs/reference-pex#executable_search_paths",
          "type": "array"
        },
        "venv_use_symlinks": {
          "default": false,
          "description": "When possible, use venvs whose site-packages directories are populated with symlinks\nhttps://www.pantsbuild.org/v2.14/docs/reference-pex#venv_use_symlinks",
          "type": "boolean"
        },
        "verbosity": {
          "default": 0,
          "description": "Set the verbosity level of PEX logging, from 0 (no logging) up to 9 (max logging)\nhttps://www.pantsbuild.org/v2.14/docs/reference-pex#verbosity",
          "type": "number"
        }
      },
      "type": "object"
    },
    "pex-binary-defaults": {
      "description": "Default settings for creating PEX executables.",
      "properties": {
        "emit_warnings": {
          "default": true,
          "description": "Whether built PEX binaries should emit PEX warnings at runtime by default\nhttps://www.pantsbuild.org/v2.14/docs/reference-pex-binary-defaults#emit_warnings",
          "type": "boolean"
        },
        "resolve_local_platforms": {
          "default": false,
          "description": "For each of the `platforms` specified for a `pex_binary` target, attempt to find a local interpreter that matches\nhttps://www.pantsbuild.org/v2.14/docs/reference-pex-binary-defaults#resolve_local_platforms",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "pex-cli": {
      "description": "The PEX (Python EXecutable) tool (https://github.com/pantsbuild/pex).",
      "properties": {
        "known_versions": {
          "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"
          ],
          "description": "Known versions to verify downloads against\nhttps://www.pantsbuild.org/v2.14/docs/reference-pex-cli#known_versions",
          "type": "array"
        },
        "url_platform_mapping": {
          "default": {},
          "description": "A dictionary mapping platforms to strings to be used when generating the URL to download the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-pex-cli#url_platform_mapping",
          "type": "object"
        },
        "url_template": {
          "default": "https://github.com/pantsbuild/pex/releases/download/{version}/pex",
          "description": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file)\nhttps://www.pantsbuild.org/v2.14/docs/reference-pex-cli#url_template",
          "type": "string"
        },
        "use_unsupported_version": {
          "default": "error",
          "description": "What action to take in case the requested version of pex is not supported\nhttps://www.pantsbuild.org/v2.14/docs/reference-pex-cli#use_unsupported_version",
          "enum": ["error", "warning"]
        },
        "version": {
          "default": "v2.1.108",
          "description": "Use this version of pex\nhttps://www.pantsbuild.org/v2.14/docs/reference-pex-cli#version",
          "type": "string"
        }
      },
      "type": "object"
    },
    "poetry": {
      "description": "Used to generate lockfiles for third-party Python dependencies (deprecated).",
      "properties": {
        "extra_requirements": {
          "default": [],
          "description": "Any additional requirement strings to use with the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-poetry#extra_requirements",
          "type": "array"
        },
        "interpreter_constraints": {
          "default": ["CPython>=3.7,<4"],
          "description": "Python interpreter constraints for this tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-poetry#interpreter_constraints",
          "type": "array"
        },
        "lockfile": {
          "default": "<default>",
          "description": "Path to a lockfile used for installing the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-poetry#lockfile",
          "type": "string"
        },
        "version": {
          "default": "poetry==1.1.14",
          "description": "Requirement string for the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-poetry#version",
          "type": "string"
        }
      },
      "type": "object"
    },
    "publish": {
      "description": "Publish deliverables (assets, distributions, images, etc).",
      "properties": {
        "output": {
          "default": null,
          "description": "Filename for JSON structured publish information\nhttps://www.pantsbuild.org/v2.14/docs/reference-publish#output",
          "type": "string"
        }
      },
      "type": "object"
    },
    "py-constraints": {
      "description": "Determine what Python interpreter constraints are used by files/targets.",
      "properties": {
        "output_file": {
          "default": null,
          "description": "Output the goal's stdout to this file\nhttps://www.pantsbuild.org/v2.14/docs/reference-py-constraints#output_file",
          "type": "string"
        },
        "summary": {
          "default": false,
          "description": "Output a CSV summary of interpreter constraints for your whole repository\nhttps://www.pantsbuild.org/v2.14/docs/reference-py-constraints#summary",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "pyoxidizer": {
      "description": "The PyOxidizer utility for packaging Python code in a Rust binary (https://pyoxidizer.readthedocs.io/en/stable/pyoxidizer.html).\n\nUsed with the `pyoxidizer_binary` target.",
      "properties": {
        "args": {
          "default": [],
          "description": "Arguments to pass directly to PyOxidizer, e.g. `--pyoxidizer-args='--release'`\nhttps://www.pantsbuild.org/v2.14/docs/reference-pyoxidizer#args",
          "type": "array"
        },
        "console_script": {
          "default": "pyoxidizer",
          "description": "The console script for the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-pyoxidizer#console_script",
          "type": "string"
        },
        "entry_point": {
          "default": null,
          "description": "The entry point for the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-pyoxidizer#entry_point",
          "type": "string"
        },
        "extra_requirements": {
          "default": [],
          "description": "Any additional requirement strings to use with the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-pyoxidizer#extra_requirements",
          "type": "array"
        },
        "interpreter_constraints": {
          "default": ["CPython>=3.8,<4"],
          "description": "Python interpreter constraints for this tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-pyoxidizer#interpreter_constraints",
          "type": "array"
        },
        "lockfile": {
          "default": "<default>",
          "description": "Path to a lockfile used for installing the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-pyoxidizer#lockfile",
          "type": "string"
        },
        "version": {
          "default": "pyoxidizer==0.18.0",
          "description": "Requirement string for the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-pyoxidizer#version",
          "type": "string"
        }
      },
      "type": "object"
    },
    "pytest": {
      "description": "The pytest Python test framework (https://docs.pytest.org/).",
      "properties": {
        "args": {
          "default": [],
          "description": "Arguments to pass directly to Pytest, e.g. `--pytest-args='-k test_foo --quiet'`\nhttps://www.pantsbuild.org/v2.14/docs/reference-pytest#args",
          "type": "array"
        },
        "config": {
          "default": null,
          "description": "Path to a config file understood by Pytest (https://docs.pytest.org/en/latest/reference/customize.html#configuration-file-formats)\nhttps://www.pantsbuild.org/v2.14/docs/reference-pytest#config"
        },
        "config_discovery": {
          "default": true,
          "description": "If true, Pants will include all relevant Pytest config files (e.g. `pytest.ini`) during runs\nhttps://www.pantsbuild.org/v2.14/docs/reference-pytest#config_discovery",
          "type": "boolean"
        },
        "console_script": {
          "default": "pytest",
          "description": "The console script for the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-pytest#console_script",
          "type": "string"
        },
        "entry_point": {
          "default": null,
          "description": "The entry point for the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-pytest#entry_point",
          "type": "string"
        },
        "execution_slot_var": {
          "default": null,
          "description": "If a non-empty string, the process execution slot id (an integer) will be exposed to tests under this environment variable name\nhttps://www.pantsbuild.org/v2.14/docs/reference-pytest#execution_slot_var",
          "type": "string"
        },
        "export": {
          "default": true,
          "description": "If true, export a virtual environment with Pytest when running `./pants export`\nhttps://www.pantsbuild.org/v2.14/docs/reference-pytest#export",
          "type": "boolean"
        },
        "extra_requirements": {
          "default": ["pytest-cov>=2.12,!=2.12.1,<3.1", "pytest-xdist>=2.5,<3"],
          "description": "Any additional requirement strings to use with the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-pytest#extra_requirements",
          "type": "array"
        },
        "junit_family": {
          "default": "xunit2",
          "description": "The format of generated junit XML files\nhttps://www.pantsbuild.org/v2.14/docs/reference-pytest#junit_family",
          "type": "string"
        },
        "lockfile": {
          "default": "<default>",
          "description": "Path to a lockfile used for installing the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-pytest#lockfile",
          "type": "string"
        },
        "version": {
          "default": "pytest==7.0.1",
          "description": "Requirement string for the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-pytest#version",
          "type": "string"
        },
        "xdist_enabled": {
          "default": false,
          "description": "If true, Pants will use `pytest-xdist` (https://pytest-xdist.readthedocs.io/en/latest/) to parallelize tests within each `python_test` target\nhttps://www.pantsbuild.org/v2.14/docs/reference-pytest#xdist_enabled",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "python": {
      "description": "Options for Pants's Python backend.",
      "properties": {
        "default_resolve": {
          "default": "python-default",
          "description": "The default value used for the `resolve` field\nhttps://www.pantsbuild.org/v2.14/docs/reference-python#default_resolve",
          "type": "string"
        },
        "default_run_goal_use_sandbox": {
          "default": true,
          "description": "The default value used for the `run_goal_use_sandbox` field of Python targets\nhttps://www.pantsbuild.org/v2.14/docs/reference-python#default_run_goal_use_sandbox",
          "type": "boolean"
        },
        "enable_resolves": {
          "default": false,
          "description": "Set to true to enable lockfiles for user code\nhttps://www.pantsbuild.org/v2.14/docs/reference-python#enable_resolves",
          "type": "boolean"
        },
        "interpreter_constraints": {
          "default": ["CPython>=3.7,<4"],
          "description": "The Python interpreters your codebase is compatible with\nhttps://www.pantsbuild.org/v2.14/docs/reference-python#interpreter_constraints",
          "type": "array"
        },
        "interpreter_versions_universe": {
          "default": ["2.7", "3.5", "3.6", "3.7", "3.8", "3.9", "3.10", "3.11"],
          "description": "All known Python major/minor interpreter versions that may be used by either your code or tools used by your code\nhttps://www.pantsbuild.org/v2.14/docs/reference-python#interpreter_versions_universe",
          "type": "array"
        },
        "invalid_lockfile_behavior": {
          "default": "error",
          "description": "The behavior when a lockfile has requirements or interpreter constraints that are not compatible with what the current build is using\nhttps://www.pantsbuild.org/v2.14/docs/reference-python#invalid_lockfile_behavior",
          "enum": ["error", "ignore", "warn"]
        },
        "macos_big_sur_compatibility": {
          "default": false,
          "description": "If set, and if running on MacOS Big Sur, use macosx_10_16 as the platform when building wheels\nhttps://www.pantsbuild.org/v2.14/docs/reference-python#macos_big_sur_compatibility",
          "type": "boolean"
        },
        "resolver_manylinux": {
          "default": "manylinux2014",
          "description": "Whether to allow resolution of manylinux wheels when resolving requirements for foreign linux platforms\nhttps://www.pantsbuild.org/v2.14/docs/reference-python#resolver_manylinux",
          "type": "string"
        },
        "resolves": {
          "default": {
            "python-default": "3rdparty/python/default.lock"
          },
          "description": "A mapping of logical names to lockfile paths used in your project\nhttps://www.pantsbuild.org/v2.14/docs/reference-python#resolves",
          "type": "object"
        },
        "resolves_generate_lockfiles": {
          "default": true,
          "description": "If False, Pants will not attempt to generate lockfiles for `[python].resolves` when running the `generate-lockfiles` goal\nhttps://www.pantsbuild.org/v2.14/docs/reference-python#resolves_generate_lockfiles",
          "type": "boolean"
        },
        "resolves_to_constraints_file": {
          "default": {},
          "description": "When generating a resolve's lockfile, use a constraints file to pin the version of certain requirements\nhttps://www.pantsbuild.org/v2.14/docs/reference-python#resolves_to_constraints_file",
          "type": "object"
        },
        "resolves_to_interpreter_constraints": {
          "default": {},
          "description": "Override the interpreter constraints to use when generating a resolve's lockfile with the `generate-lockfiles` goal\nhttps://www.pantsbuild.org/v2.14/docs/reference-python#resolves_to_interpreter_constraints",
          "type": "object"
        },
        "resolves_to_no_binary": {
          "default": {},
          "description": "When generating a resolve's lockfile, do not use binary packages (i.e. wheels) for these 3rdparty project names\nhttps://www.pantsbuild.org/v2.14/docs/reference-python#resolves_to_no_binary",
          "type": "object"
        },
        "resolves_to_only_binary": {
          "default": {},
          "description": "When generating a resolve's lockfile, do not use source packages (i.e. sdists) for these 3rdparty project names, e.g `['django', 'requests']`\nhttps://www.pantsbuild.org/v2.14/docs/reference-python#resolves_to_only_binary",
          "type": "object"
        },
        "run_against_entire_lockfile": {
          "default": false,
          "description": "If enabled, when running binaries, tests, and repls, Pants will use the entire lockfile file instead of just the relevant subset\nhttps://www.pantsbuild.org/v2.14/docs/reference-python#run_against_entire_lockfile",
          "type": "boolean"
        },
        "tailor_ignore_empty_init_files": {
          "default": true,
          "description": "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\nhttps://www.pantsbuild.org/v2.14/docs/reference-python#tailor_ignore_empty_init_files",
          "type": "boolean"
        },
        "tailor_pex_binary_targets": {
          "default": false,
          "description": "If true, add `pex_binary` targets for Python files named `__main__.py` or with a `__main__` clause with the `tailor` goal\nhttps://www.pantsbuild.org/v2.14/docs/reference-python#tailor_pex_binary_targets",
          "type": "boolean"
        },
        "tailor_requirements_targets": {
          "default": true,
          "description": "If true, add `python_requirements`, `poetry_requirements`, and `pipenv_requirements` target generators with the `tailor` goal\nhttps://www.pantsbuild.org/v2.14/docs/reference-python#tailor_requirements_targets",
          "type": "boolean"
        },
        "tailor_source_targets": {
          "default": true,
          "description": "If true, add `python_sources`, `python_tests`, and `python_test_utils` targets with the `tailor` goal\nhttps://www.pantsbuild.org/v2.14/docs/reference-python#tailor_source_targets",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "python-bootstrap": {
      "description": "Options used to locate Python interpreters used by all Pants backends.\n\nThis 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.",
      "properties": {
        "names": {
          "default": ["python", "python3"],
          "description": "The names of Python binaries to search for\nhttps://www.pantsbuild.org/v2.14/docs/reference-python-bootstrap#names",
          "type": "array"
        },
        "search_path": {
          "default": ["<PYENV>", "<PATH>"],
          "description": "A list of paths to search for Python interpreters\nhttps://www.pantsbuild.org/v2.14/docs/reference-python-bootstrap#search_path",
          "type": "array"
        }
      },
      "type": "object"
    },
    "python-infer": {
      "description": "Options controlling which dependencies will be inferred for Python targets.",
      "properties": {
        "assets": {
          "default": false,
          "description": "Infer a target's asset dependencies based on strings that look like Posix filepaths, such as those given to `open` or `pkgutil.get_data`\nhttps://www.pantsbuild.org/v2.14/docs/reference-python-infer#assets",
          "type": "boolean"
        },
        "assets_min_slashes": {
          "default": 1,
          "description": "If --assets is True, treat valid-looking strings with at least this many forward slash characters as potential assets\nhttps://www.pantsbuild.org/v2.14/docs/reference-python-infer#assets_min_slashes",
          "type": "number"
        },
        "conftests": {
          "default": true,
          "description": "Infer a test target's dependencies on any conftest.py files in the current directory and ancestor directories\nhttps://www.pantsbuild.org/v2.14/docs/reference-python-infer#conftests",
          "type": "boolean"
        },
        "entry_points": {
          "default": true,
          "description": "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\nhttps://www.pantsbuild.org/v2.14/docs/reference-python-infer#entry_points",
          "type": "boolean"
        },
        "imports": {
          "default": true,
          "description": "Infer a target's imported dependencies by parsing import statements from sources\nhttps://www.pantsbuild.org/v2.14/docs/reference-python-infer#imports",
          "type": "boolean"
        },
        "init_files": {
          "default": "content_only",
          "description": "Infer a target's dependencies on any `__init__.py` files in the packages it is located in (recursively upward in the directory structure)\nhttps://www.pantsbuild.org/v2.14/docs/reference-python-infer#init_files",
          "enum": ["always", "content_only", "never"]
        },
        "string_imports": {
          "default": false,
          "description": "Infer a target's dependencies based on strings that look like dynamic dependencies, such as Django settings files expressing dependencies as strings\nhttps://www.pantsbuild.org/v2.14/docs/reference-python-infer#string_imports",
          "type": "boolean"
        },
        "string_imports_min_dots": {
          "default": 2,
          "description": "If --string-imports is True, treat valid-looking strings with at least this many dots in them as potential dynamic dependencies\nhttps://www.pantsbuild.org/v2.14/docs/reference-python-infer#string_imports_min_dots",
          "type": "number"
        },
        "unowned_dependency_behavior": {
          "default": "warning",
          "description": "How to handle imports that don't have an inferable owner\nhttps://www.pantsbuild.org/v2.14/docs/reference-python-infer#unowned_dependency_behavior",
          "enum": ["error", "warning", "ignore"]
        }
      },
      "type": "object"
    },
    "python-native-code": {
      "description": "Options for building native code using Python, e.g. when resolving distributions.",
      "properties": {
        "cpp_flags": {
          "default": [],
          "description": "Override the `CPPFLAGS` environment variable for any forked subprocesses\nhttps://www.pantsbuild.org/v2.14/docs/reference-python-native-code#cpp_flags",
          "type": "array"
        },
        "ld_flags": {
          "default": [],
          "description": "Override the `LDFLAGS` environment variable for any forked subprocesses\nhttps://www.pantsbuild.org/v2.14/docs/reference-python-native-code#ld_flags",
          "type": "array"
        }
      },
      "type": "object"
    },
    "python-repos": {
      "description": "External Python code repositories, such as PyPI.\n\nThese options may be used to point to custom package indexes when resolving requirements.",
      "properties": {
        "find_links": {
          "default": [],
          "description": "URLs and/or file paths corresponding to pip's `--find-links` option\nhttps://www.pantsbuild.org/v2.14/docs/reference-python-repos#find_links",
          "type": "array"
        },
        "indexes": {
          "default": ["https://pypi.org/simple/"],
          "description": "URLs of [PEP-503 compatible](https://peps.python.org/pep-0503/) code repository indexes to look for requirements\nhttps://www.pantsbuild.org/v2.14/docs/reference-python-repos#indexes",
          "type": "array"
        },
        "path_mappings": {
          "default": [],
          "description": "Mappings to facilitate using local Python requirements when the absolute file paths are different on different users' machines\nhttps://www.pantsbuild.org/v2.14/docs/reference-python-repos#path_mappings",
          "type": "array"
        }
      },
      "type": "object"
    },
    "regex-lint": {
      "description": "Lint your code using regex patterns, e.g. to check for copyright headers.\n\nTo activate this with the `lint` goal, you must set `[regex-lint].config`.\n\nUnlike other linters, this can run on files not owned by targets, such as BUILD files.",
      "properties": {
        "config": {
          "default": {},
          "description": "Config schema is as follows:\nhttps://www.pantsbuild.org/v2.14/docs/reference-regex-lint#config",
          "oneOf": [
            {
              "type": "object"
            },
            {
              "type": "string"
            }
          ]
        },
        "detail_level": {
          "default": "nonmatching",
          "description": "How much detail to include in the result\nhttps://www.pantsbuild.org/v2.14/docs/reference-regex-lint#detail_level",
          "enum": ["none", "summary", "nonmatching", "names", "all"]
        }
      },
      "type": "object"
    },
    "repl": {
      "description": "Open a REPL with the specified code loadable.",
      "properties": {
        "restartable": {
          "default": false,
          "description": "True if the REPL should be restarted if its inputs have changed\nhttps://www.pantsbuild.org/v2.14/docs/reference-repl#restartable",
          "type": "boolean"
        },
        "shell": {
          "default": null,
          "description": "Override the automatically-detected REPL program for the target(s) specified\nhttps://www.pantsbuild.org/v2.14/docs/reference-repl#shell",
          "type": "string"
        }
      },
      "type": "object"
    },
    "roots": {
      "description": "List the repo's registered source roots.",
      "properties": {
        "output_file": {
          "default": null,
          "description": "Output the goal's stdout to this file\nhttps://www.pantsbuild.org/v2.14/docs/reference-roots#output_file",
          "type": "string"
        },
        "sep": {
          "default": "\\n",
          "description": "String to use to separate lines in line-oriented output\nhttps://www.pantsbuild.org/v2.14/docs/reference-roots#sep",
          "type": "string"
        }
      },
      "type": "object"
    },
    "run": {
      "description": "Runs a binary target.\n\nThis goal propagates the return code of the underlying executable.\n\nIf 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.",
      "properties": {
        "args": {
          "default": [],
          "description": "Arguments to pass directly to the executed target, e.g. `--run-args='val1 val2 --debug'`\nhttps://www.pantsbuild.org/v2.14/docs/reference-run#args",
          "type": "array"
        },
        "cleanup": {
          "default": true,
          "description": "Whether to clean up the temporary directory in which the binary is chrooted\nhttps://www.pantsbuild.org/v2.14/docs/reference-run#cleanup",
          "type": "boolean"
        },
        "debug_adapter": {
          "default": false,
          "description": "Run the interactive process using a Debug Adapter (https://microsoft.github.io/debug-adapter-protocol/) for the language if supported\nhttps://www.pantsbuild.org/v2.14/docs/reference-run#debug_adapter",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "scala": {
      "description": "Scala programming language",
      "properties": {
        "tailor_source_targets": {
          "default": true,
          "description": "If true, add `scala_sources`, `scala_junit_tests`, and `scalatest_tests` targets with the `tailor` goal\nhttps://www.pantsbuild.org/v2.14/docs/reference-scala#tailor_source_targets",
          "type": "boolean"
        },
        "version_for_resolve": {
          "default": {},
          "description": "A dictionary mapping the name of a resolve to the Scala version to use for all Scala targets consuming that resolve\nhttps://www.pantsbuild.org/v2.14/docs/reference-scala#version_for_resolve",
          "type": "object"
        }
      },
      "type": "object"
    },
    "scala-dump-source-analysis": {
      "description": "Dump source analysis for scala_source targets.",
      "properties": {},
      "type": "object"
    },
    "scala-infer": {
      "description": "Options controlling which dependencies will be inferred for Scala targets.",
      "properties": {
        "consumed_types": {
          "default": true,
          "description": "Infer a target's dependencies by parsing consumed types from sources\nhttps://www.pantsbuild.org/v2.14/docs/reference-scala-infer#consumed_types",
          "type": "boolean"
        },
        "force_add_siblings_as_dependencies": {
          "default": false,
          "description": "If true, add a dependency on all scala_source targets generated by the same scala_sources target generator\nhttps://www.pantsbuild.org/v2.14/docs/reference-scala-infer#force_add_siblings_as_dependencies",
          "type": "boolean"
        },
        "imports": {
          "default": true,
          "description": "Infer a target's dependencies by parsing import statements from sources\nhttps://www.pantsbuild.org/v2.14/docs/reference-scala-infer#imports",
          "type": "boolean"
        },
        "package_objects": {
          "default": true,
          "description": "Add dependency on the package object to every target\nhttps://www.pantsbuild.org/v2.14/docs/reference-scala-infer#package_objects",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "scalac": {
      "description": "The Scala compiler.",
      "properties": {
        "args": {
          "default": [],
          "description": "Arguments to pass directly to scalac, e.g. `--scalac-args='-encoding UTF-8'`\nhttps://www.pantsbuild.org/v2.14/docs/reference-scalac#args",
          "type": "array"
        },
        "plugins_for_resolve": {
          "default": {},
          "description": "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\nhttps://www.pantsbuild.org/v2.14/docs/reference-scalac#plugins_for_resolve",
          "type": "object"
        }
      },
      "type": "object"
    },
    "scalafmt": {
      "description": "scalafmt (https://scalameta.org/scalafmt/)",
      "properties": {
        "artifacts": {
          "default": ["org.scalameta:scalafmt-cli_2.13:{version}"],
          "description": "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)\nhttps://www.pantsbuild.org/v2.14/docs/reference-scalafmt#artifacts",
          "type": "array"
        },
        "jvm_options": {
          "default": [],
          "description": "List of JVM options to pass to `scalafmt` JVM processes\nhttps://www.pantsbuild.org/v2.14/docs/reference-scalafmt#jvm_options",
          "type": "array"
        },
        "lockfile": {
          "default": "<default>",
          "description": "Path to a lockfile used for installing the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-scalafmt#lockfile",
          "type": "string"
        },
        "skip": {
          "default": false,
          "description": "If true, don't use scalafmt when running `./pants fmt` and `./pants lint`\nhttps://www.pantsbuild.org/v2.14/docs/reference-scalafmt#skip",
          "type": "boolean"
        },
        "version": {
          "default": "3.2.1",
          "description": "Version string for the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-scalafmt#version",
          "type": "string"
        }
      },
      "type": "object"
    },
    "scalatest": {
      "description": "The Scalatest test framework (https://www.scalatest.org/)",
      "properties": {
        "args": {
          "default": [],
          "description": "Arguments to pass directly to Scalatest, e.g. `--scalatest-args='-t $testname'`\nhttps://www.pantsbuild.org/v2.14/docs/reference-scalatest#args",
          "type": "array"
        },
        "artifacts": {
          "default": ["org.scalatest:scalatest_2.13:{version}"],
          "description": "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)\nhttps://www.pantsbuild.org/v2.14/docs/reference-scalatest#artifacts",
          "type": "array"
        },
        "jvm_options": {
          "default": [],
          "description": "List of JVM options to pass to `scalatest` JVM processes\nhttps://www.pantsbuild.org/v2.14/docs/reference-scalatest#jvm_options",
          "type": "array"
        },
        "lockfile": {
          "default": "<default>",
          "description": "Path to a lockfile used for installing the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-scalatest#lockfile",
          "type": "string"
        },
        "version": {
          "default": "3.2.10",
          "description": "Version string for the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-scalatest#version",
          "type": "string"
        }
      },
      "type": "object"
    },
    "scc": {
      "description": "The Succinct Code Counter, aka `scc` (https://github.com/boyter/scc).",
      "properties": {
        "args": {
          "default": [],
          "description": "Arguments to pass directly to SCC, e.g. `--scc-args='--no-cocomo'`\nhttps://www.pantsbuild.org/v2.14/docs/reference-scc#args",
          "type": "array"
        },
        "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"
          ],
          "description": "Known versions to verify downloads against\nhttps://www.pantsbuild.org/v2.14/docs/reference-scc#known_versions",
          "type": "array"
        },
        "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"
          },
          "description": "A dictionary mapping platforms to strings to be used when generating the URL to download the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-scc#url_platform_mapping",
          "type": "object"
        },
        "url_template": {
          "default": "https://github.com/boyter/scc/releases/download/v{version}/scc-{version}-{platform}.zip",
          "description": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file)\nhttps://www.pantsbuild.org/v2.14/docs/reference-scc#url_template",
          "type": "string"
        },
        "use_unsupported_version": {
          "default": "error",
          "description": "What action to take in case the requested version of SCC is not supported\nhttps://www.pantsbuild.org/v2.14/docs/reference-scc#use_unsupported_version",
          "enum": ["error", "warning"]
        },
        "version": {
          "default": "3.0.0",
          "description": "Use this version of SCC\nhttps://www.pantsbuild.org/v2.14/docs/reference-scc#version",
          "type": "string"
        }
      },
      "type": "object"
    },
    "setup-py-generation": {
      "description": "Options to control how setup.py is generated from a `python_distribution` target.",
      "properties": {
        "first_party_dependency_version_scheme": {
          "default": "exact",
          "description": "What version to set in `install_requires` when a `python_distribution` depends on other `python_distribution`s\nhttps://www.pantsbuild.org/v2.14/docs/reference-setup-py-generation#first_party_dependency_version_scheme",
          "enum": ["exact", "compatible", "any"]
        },
        "generate_setup_default": {
          "default": true,
          "description": "The default value for the `generate_setup` field on `python_distribution` targets\nhttps://www.pantsbuild.org/v2.14/docs/reference-setup-py-generation#generate_setup_default",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "setuptools": {
      "description": "Python setuptools, used to package `python_distribution` targets.",
      "properties": {
        "extra_requirements": {
          "default": ["wheel>=0.35.1,<0.38"],
          "description": "Any additional requirement strings to use with the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-setuptools#extra_requirements",
          "type": "array"
        },
        "lockfile": {
          "default": "<default>",
          "description": "Path to a lockfile used for installing the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-setuptools#lockfile",
          "type": "string"
        },
        "version": {
          "default": "setuptools>=63.1.0,<64.0",
          "description": "Requirement string for the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-setuptools#version",
          "type": "string"
        }
      },
      "type": "object"
    },
    "setuptools-scm": {
      "description": "A tool for generating versions from VCS metadata (https://github.com/pypa/setuptools_scm).",
      "properties": {
        "console_script": {
          "default": null,
          "description": "The console script for the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-setuptools-scm#console_script",
          "type": "string"
        },
        "entry_point": {
          "default": "setuptools_scm",
          "description": "The entry point for the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-setuptools-scm#entry_point",
          "type": "string"
        },
        "extra_requirements": {
          "default": [],
          "description": "Any additional requirement strings to use with the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-setuptools-scm#extra_requirements",
          "type": "array"
        },
        "interpreter_constraints": {
          "default": ["CPython>=3.7,<4"],
          "description": "Python interpreter constraints for this tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-setuptools-scm#interpreter_constraints",
          "type": "array"
        },
        "lockfile": {
          "default": "<default>",
          "description": "Path to a lockfile used for installing the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-setuptools-scm#lockfile",
          "type": "string"
        },
        "version": {
          "default": "setuptools-scm==6.4.2",
          "description": "Requirement string for the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-setuptools-scm#version",
          "type": "string"
        }
      },
      "type": "object"
    },
    "shell-setup": {
      "description": "Options for Pants's Shell support.",
      "properties": {
        "dependency_inference": {
          "default": true,
          "description": "Infer Shell dependencies on other Shell files by analyzing `source` statements\nhttps://www.pantsbuild.org/v2.14/docs/reference-shell-setup#dependency_inference",
          "type": "boolean"
        },
        "executable_search_path": {
          "default": ["<PATH>"],
          "description": "The PATH value that will be used to find shells and to run certain processes like the shunit2 test runner\nhttps://www.pantsbuild.org/v2.14/docs/reference-shell-setup#executable_search_path",
          "type": "array"
        },
        "tailor": {
          "default": true,
          "description": "If true, add `shell_sources` and `shunit2_tests` targets with the `tailor` goal\nhttps://www.pantsbuild.org/v2.14/docs/reference-shell-setup#tailor",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "shellcheck": {
      "description": "A linter for shell scripts.",
      "properties": {
        "args": {
          "default": [],
          "description": "Arguments to pass directly to Shellcheck, e.g. `--shellcheck-args='-e SC20529'`\nhttps://www.pantsbuild.org/v2.14/docs/reference-shellcheck#args",
          "type": "array"
        },
        "config_discovery": {
          "default": true,
          "description": "If true, Pants will include all relevant `.shellcheckrc` and `shellcheckrc` files during runs\nhttps://www.pantsbuild.org/v2.14/docs/reference-shellcheck#config_discovery",
          "type": "boolean"
        },
        "known_versions": {
          "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"
          ],
          "description": "Known versions to verify downloads against\nhttps://www.pantsbuild.org/v2.14/docs/reference-shellcheck#known_versions",
          "type": "array"
        },
        "skip": {
          "default": false,
          "description": "If true, don't use Shellcheck when running `./pants lint`\nhttps://www.pantsbuild.org/v2.14/docs/reference-shellcheck#skip",
          "type": "boolean"
        },
        "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"
          },
          "description": "A dictionary mapping platforms to strings to be used when generating the URL to download the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-shellcheck#url_platform_mapping",
          "type": "object"
        },
        "url_template": {
          "default": "https://github.com/koalaman/shellcheck/releases/download/{version}/shellcheck-{version}.{platform}.tar.xz",
          "description": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file)\nhttps://www.pantsbuild.org/v2.14/docs/reference-shellcheck#url_template",
          "type": "string"
        },
        "use_unsupported_version": {
          "default": "error",
          "description": "What action to take in case the requested version of Shellcheck is not supported\nhttps://www.pantsbuild.org/v2.14/docs/reference-shellcheck#use_unsupported_version",
          "enum": ["error", "warning"]
        },
        "version": {
          "default": "v0.8.0",
          "description": "Use this version of Shellcheck\nhttps://www.pantsbuild.org/v2.14/docs/reference-shellcheck#version",
          "type": "string"
        }
      },
      "type": "object"
    },
    "shfmt": {
      "description": "An autoformatter for shell scripts (https://github.com/mvdan/sh).",
      "properties": {
        "args": {
          "default": [],
          "description": "Arguments to pass directly to shfmt, e.g. `--shfmt-args='-i 2'`\nhttps://www.pantsbuild.org/v2.14/docs/reference-shfmt#args",
          "type": "array"
        },
        "config_discovery": {
          "default": true,
          "description": "If true, Pants will include all relevant `.editorconfig` files during runs\nhttps://www.pantsbuild.org/v2.14/docs/reference-shfmt#config_discovery",
          "type": "boolean"
        },
        "known_versions": {
          "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"
          ],
          "description": "Known versions to verify downloads against\nhttps://www.pantsbuild.org/v2.14/docs/reference-shfmt#known_versions",
          "type": "array"
        },
        "skip": {
          "default": false,
          "description": "If true, don't use shfmt when running `./pants fmt` and `./pants lint`\nhttps://www.pantsbuild.org/v2.14/docs/reference-shfmt#skip",
          "type": "boolean"
        },
        "url_platform_mapping": {
          "default": {
            "linux_arm64": "linux_arm64",
            "linux_x86_64": "linux_amd64",
            "macos_arm64": "darwin_arm64",
            "macos_x86_64": "darwin_amd64"
          },
          "description": "A dictionary mapping platforms to strings to be used when generating the URL to download the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-shfmt#url_platform_mapping",
          "type": "object"
        },
        "url_template": {
          "default": "https://github.com/mvdan/sh/releases/download/{version}/shfmt_{version}_{platform}",
          "description": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file)\nhttps://www.pantsbuild.org/v2.14/docs/reference-shfmt#url_template",
          "type": "string"
        },
        "use_unsupported_version": {
          "default": "error",
          "description": "What action to take in case the requested version of shfmt is not supported\nhttps://www.pantsbuild.org/v2.14/docs/reference-shfmt#use_unsupported_version",
          "enum": ["error", "warning"]
        },
        "version": {
          "default": "v3.2.4",
          "description": "Use this version of shfmt\nhttps://www.pantsbuild.org/v2.14/docs/reference-shfmt#version",
          "type": "string"
        }
      },
      "type": "object"
    },
    "source": {
      "description": "Configuration for roots of source trees.",
      "properties": {
        "marker_filenames": {
          "default": [],
          "description": "The presence of a file of this name in a directory indicates that the directory is a source root\nhttps://www.pantsbuild.org/v2.14/docs/reference-source#marker_filenames",
          "type": "array"
        },
        "root_patterns": {
          "default": [
            "/",
            "src",
            "src/python",
            "src/py",
            "src/thrift",
            "src/protobuf",
            "src/protos",
            "src/scala",
            "src/java"
          ],
          "description": "A list of source root suffixes\nhttps://www.pantsbuild.org/v2.14/docs/reference-source#root_patterns",
          "type": "array"
        }
      },
      "type": "object"
    },
    "stats": {
      "description": "An aggregator for Pants stats, such as cache metrics.",
      "properties": {
        "log": {
          "default": false,
          "description": "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\nhttps://www.pantsbuild.org/v2.14/docs/reference-stats#log",
          "type": "boolean"
        },
        "memory_summary": {
          "default": false,
          "description": "At the end of the Pants run, report a summary of memory usage\nhttps://www.pantsbuild.org/v2.14/docs/reference-stats#memory_summary",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "subprocess-environment": {
      "description": "Environment settings for forked subprocesses.",
      "properties": {
        "env_vars": {
          "default": [
            "LANG",
            "LC_CTYPE",
            "LC_ALL",
            "SSL_CERT_FILE",
            "SSL_CERT_DIR"
          ],
          "description": "Environment variables to set for process invocations\nhttps://www.pantsbuild.org/v2.14/docs/reference-subprocess-environment#env_vars",
          "type": "array"
        }
      },
      "type": "object"
    },
    "tailor": {
      "description": "Auto-generate BUILD file targets for new source files.\n\nEach specific `tailor` implementation may be disabled through language-specific options, e.g. `[python].tailor_pex_binary_targets` and `[shell-setup].tailor`.",
      "properties": {
        "alias_mapping": {
          "default": {},
          "description": "A mapping from standard target type to custom type to use instead\nhttps://www.pantsbuild.org/v2.14/docs/reference-tailor#alias_mapping",
          "type": "object"
        },
        "build_file_header": {
          "default": null,
          "description": "A header, e.g., a copyright notice, to add to the content of created BUILD files\nhttps://www.pantsbuild.org/v2.14/docs/reference-tailor#build_file_header",
          "type": "string"
        },
        "build_file_indent": {
          "default": "    ",
          "description": "The indent to use when auto-editing BUILD files\nhttps://www.pantsbuild.org/v2.14/docs/reference-tailor#build_file_indent",
          "type": "string"
        },
        "build_file_name": {
          "default": "BUILD",
          "description": "The name to use for generated BUILD files\nhttps://www.pantsbuild.org/v2.14/docs/reference-tailor#build_file_name",
          "type": "string"
        },
        "check": {
          "default": false,
          "description": "Do not write changes to disk, only write back what would change\nhttps://www.pantsbuild.org/v2.14/docs/reference-tailor#check",
          "type": "boolean"
        },
        "ignore_adding_targets": {
          "default": [],
          "description": "Do not add these target definitions\nhttps://www.pantsbuild.org/v2.14/docs/reference-tailor#ignore_adding_targets",
          "type": "array"
        },
        "ignore_paths": {
          "default": [],
          "description": "Do not edit or create BUILD files at these paths\nhttps://www.pantsbuild.org/v2.14/docs/reference-tailor#ignore_paths",
          "type": "array"
        }
      },
      "type": "object"
    },
    "test": {
      "description": "Run tests.",
      "properties": {
        "debug": {
          "default": false,
          "description": "Run tests sequentially in an interactive process\nhttps://www.pantsbuild.org/v2.14/docs/reference-test#debug",
          "type": "boolean"
        },
        "debug_adapter": {
          "default": false,
          "description": "Run tests sequentially in an interactive process, using a Debug Adapter (https://microsoft.github.io/debug-adapter-protocol/) for the language if supported\nhttps://www.pantsbuild.org/v2.14/docs/reference-test#debug_adapter",
          "type": "boolean"
        },
        "extra_env_vars": {
          "default": [],
          "description": "Additional environment variables to include in test processes\nhttps://www.pantsbuild.org/v2.14/docs/reference-test#extra_env_vars",
          "type": "array"
        },
        "force": {
          "default": false,
          "description": "Force the tests to run, even if they could be satisfied from cache\nhttps://www.pantsbuild.org/v2.14/docs/reference-test#force",
          "type": "boolean"
        },
        "open_coverage": {
          "default": false,
          "description": "If a coverage report file is generated, open it on the local system if the system supports this\nhttps://www.pantsbuild.org/v2.14/docs/reference-test#open_coverage",
          "type": "boolean"
        },
        "output": {
          "default": "failed",
          "description": "Show stdout/stderr for these tests\nhttps://www.pantsbuild.org/v2.14/docs/reference-test#output",
          "enum": ["all", "failed", "none"]
        },
        "report": {
          "default": false,
          "description": "Write test reports to --report-dir\nhttps://www.pantsbuild.org/v2.14/docs/reference-test#report",
          "type": "boolean"
        },
        "report_dir": {
          "default": "{distdir}/test/reports",
          "description": "Path to write test reports to\nhttps://www.pantsbuild.org/v2.14/docs/reference-test#report_dir",
          "type": "string"
        },
        "shard": {
          "default": "",
          "description": "A shard specification of the form \"k/N\", where N is a positive integer and k is a non-negative integer less than N\nhttps://www.pantsbuild.org/v2.14/docs/reference-test#shard",
          "type": "string"
        },
        "timeout_default": {
          "default": null,
          "description": "The default timeout (in seconds) for a test target if the `timeout` field is not set on the target\nhttps://www.pantsbuild.org/v2.14/docs/reference-test#timeout_default",
          "type": "number"
        },
        "timeout_maximum": {
          "default": null,
          "description": "The maximum timeout (in seconds) that may be used on a test target\nhttps://www.pantsbuild.org/v2.14/docs/reference-test#timeout_maximum",
          "type": "number"
        },
        "timeouts": {
          "default": true,
          "description": "Enable test target timeouts\nhttps://www.pantsbuild.org/v2.14/docs/reference-test#timeouts",
          "type": "boolean"
        },
        "use_coverage": {
          "default": false,
          "description": "Generate a coverage report if the test runner supports it\nhttps://www.pantsbuild.org/v2.14/docs/reference-test#use_coverage",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "toolchain-setup": {
      "description": "Setup specific to the Toolchain codebase.",
      "properties": {
        "base_url": {
          "default": "https://app.toolchain.com",
          "description": "Toolchain base url\nhttps://www.pantsbuild.org/v2.14/docs/reference-toolchain-setup#base_url",
          "type": "string"
        },
        "org": {
          "default": null,
          "description": "The organization name on your Toolchain account (typically the same as the org name in GitHub)\nhttps://www.pantsbuild.org/v2.14/docs/reference-toolchain-setup#org",
          "type": "string"
        },
        "repo": {
          "default": null,
          "description": "The name of this repo (typically its name in GitHub)\nhttps://www.pantsbuild.org/v2.14/docs/reference-toolchain-setup#repo",
          "type": "string"
        }
      },
      "type": "object"
    },
    "twine": {
      "description": "The utility for publishing Python distributions to PyPI and other Python repositories.",
      "properties": {
        "args": {
          "default": [],
          "description": "Arguments to pass directly to Twine, e.g. `--twine-args='--skip-existing'`\nhttps://www.pantsbuild.org/v2.14/docs/reference-twine#args",
          "type": "array"
        },
        "ca_certs_path": {
          "default": "<inherit>",
          "description": "Path to a file containing PEM-format CA certificates used for verifying secure connections when publishing python distributions\nhttps://www.pantsbuild.org/v2.14/docs/reference-twine#ca_certs_path",
          "type": "string"
        },
        "config": {
          "default": null,
          "description": "Path to a .pypirc config file to use. (https://packaging.python.org/specifications/pypirc/)\nhttps://www.pantsbuild.org/v2.14/docs/reference-twine#config"
        },
        "config_discovery": {
          "default": true,
          "description": "If true, Pants will include all relevant config files during runs (`.pypirc`)\nhttps://www.pantsbuild.org/v2.14/docs/reference-twine#config_discovery",
          "type": "boolean"
        },
        "console_script": {
          "default": "twine",
          "description": "The console script for the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-twine#console_script",
          "type": "string"
        },
        "entry_point": {
          "default": null,
          "description": "The entry point for the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-twine#entry_point",
          "type": "string"
        },
        "extra_requirements": {
          "default": ["colorama>=0.4.3"],
          "description": "Any additional requirement strings to use with the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-twine#extra_requirements",
          "type": "array"
        },
        "interpreter_constraints": {
          "default": ["CPython>=3.7,<4"],
          "description": "Python interpreter constraints for this tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-twine#interpreter_constraints",
          "type": "array"
        },
        "lockfile": {
          "default": "<default>",
          "description": "Path to a lockfile used for installing the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-twine#lockfile",
          "type": "string"
        },
        "skip": {
          "default": false,
          "description": "If true, don't use Twine when running `./pants publish`\nhttps://www.pantsbuild.org/v2.14/docs/reference-twine#skip",
          "type": "boolean"
        },
        "version": {
          "default": "twine>=3.7.1,<3.8",
          "description": "Requirement string for the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-twine#version",
          "type": "string"
        }
      },
      "type": "object"
    },
    "update-build-files": {
      "description": "Format and fix safe deprecations in BUILD files.\n\nThis 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.\n\nThis goal is run without arguments. It will run over all BUILD files in your project.",
      "properties": {
        "check": {
          "default": false,
          "description": "Do not write changes to disk, only write back what would change\nhttps://www.pantsbuild.org/v2.14/docs/reference-update-build-files#check",
          "type": "boolean"
        },
        "fix_safe_deprecations": {
          "default": true,
          "description": "Automatically fix deprecations, such as target type renames, that are safe because they do not change semantics\nhttps://www.pantsbuild.org/v2.14/docs/reference-update-build-files#fix_safe_deprecations",
          "type": "boolean"
        },
        "fmt": {
          "default": true,
          "description": "Format BUILD files using Black or Yapf\nhttps://www.pantsbuild.org/v2.14/docs/reference-update-build-files#fmt",
          "type": "boolean"
        },
        "formatter": {
          "default": "black",
          "description": "Which formatter Pants should use to format BUILD files\nhttps://www.pantsbuild.org/v2.14/docs/reference-update-build-files#formatter",
          "enum": ["yapf", "black"]
        }
      },
      "type": "object"
    },
    "version": {
      "description": "Display Pants version.",
      "properties": {},
      "type": "object"
    },
    "yapf": {
      "description": "A formatter for Python files (https://github.com/google/yapf).",
      "properties": {
        "args": {
          "default": [],
          "description": "Arguments to pass directly to yapf, e.g. `--yapf-args='--no-local-style'`\nhttps://www.pantsbuild.org/v2.14/docs/reference-yapf#args",
          "type": "array"
        },
        "config": {
          "default": null,
          "description": "Path to style file understood by yapf (https://github.com/google/yapf#formatting-style/)\nhttps://www.pantsbuild.org/v2.14/docs/reference-yapf#config"
        },
        "config_discovery": {
          "default": true,
          "description": "If true, Pants will include any relevant config files during runs (`.style.yapf`, `pyproject.toml`, and `setup.cfg`)\nhttps://www.pantsbuild.org/v2.14/docs/reference-yapf#config_discovery",
          "type": "boolean"
        },
        "console_script": {
          "default": "yapf",
          "description": "The console script for the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-yapf#console_script",
          "type": "string"
        },
        "entry_point": {
          "default": null,
          "description": "The entry point for the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-yapf#entry_point",
          "type": "string"
        },
        "export": {
          "default": true,
          "description": "If true, export a virtual environment with yapf when running `./pants export`\nhttps://www.pantsbuild.org/v2.14/docs/reference-yapf#export",
          "type": "boolean"
        },
        "extra_requirements": {
          "default": ["toml"],
          "description": "Any additional requirement strings to use with the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-yapf#extra_requirements",
          "type": "array"
        },
        "interpreter_constraints": {
          "default": ["CPython>=3.7,<4"],
          "description": "Python interpreter constraints for this tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-yapf#interpreter_constraints",
          "type": "array"
        },
        "lockfile": {
          "default": "<default>",
          "description": "Path to a lockfile used for installing the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-yapf#lockfile",
          "type": "string"
        },
        "skip": {
          "default": false,
          "description": "If true, don't use yapf when running `./pants fmt` and `./pants lint`\nhttps://www.pantsbuild.org/v2.14/docs/reference-yapf#skip",
          "type": "boolean"
        },
        "version": {
          "default": "yapf==0.32.0",
          "description": "Requirement string for the tool\nhttps://www.pantsbuild.org/v2.14/docs/reference-yapf#version",
          "type": "string"
        }
      },
      "type": "object"
    }
  },
  "type": "object"
}
