Jump to Content
Docs
Community
Testimonials
Users
GitHub
Twitter
Blog
Jobs
Home
Docs
v1.27
v1.28
v1.29
v1.30
v2.0
v2.1
v2.2
v2.3
v2.4
v2.5
v2.6
v2.7
v2.8
v2.9
v2.10
v2.11
v2.12
v2.13
v2.14
v2.15
v2.16
v2.17
v2.18
Docs
Community
Testimonials
Users
GitHub
Twitter
Blog
Jobs
Terms
Privacy
Cookies
Terms
Privacy
Cookies
Moon (Dark Mode)
Sun (Light Mode)
v2.8
Search
Discard
Submit Suggested Edits
Hey! These docs are for version 2.8, which is no longer officially supported. Click here for the latest version, 2.18!
Learn About Pants
Welcome to Pants!
How does Pants work?
Language support
Who uses Pants
Testimonials
Resource hub
News room
Getting Started
Getting started
Prerequisites
Installing Pants
Updating .gitignore
Initial configuration
Create initial BUILD files
Example repositories
Incremental adoption
Getting Help
Getting help
The Pants community
Code of conduct
Maintainers
Contentious decisions
Using Pants
Key concepts to know about Pants
Goals
Targets and BUILD files
Options
Backends
Source roots
Command line help
Troubleshooting / common issues
Proxies
Advanced target selection
Project introspection
Resources and archives
Using Pants in CI
Anonymous telemetry
Remote caching & execution
Remote caching
Remote execution
Setting up an IDE
Python
Overview
Enabling Python support
Third-party dependencies
Interpreter compatibility
Linters and formatters
Pex files
Building distributions
Goals
check
fmt
lint
package
repl
run
test
Integrations
Protobuf and gRPC
AWS Lambda
Google Cloud Functions
Jupyter
Go
Overview
Shell
Overview
Docker
Overview
Tagging Docker images
Writing Plugins
Overview
Macros
The Target API
Concepts
Creating new fields
Creating new targets
Extending existing targets
The Rules API
Concepts
Goal rules
Options and subsystems
File system
Processes
Installing tools
Rules and the Target API
Union rules (advanced)
Logging and dynamic output
Testing plugins
Tips and debugging
Common plugin tasks
Add a linter
Add a formatter
Add a typechecker
Add codegen
Add a REPL
Custom `setup_py()` kwargs
Plugin upgrade guide
Releases
Changelog
Deprecation policy
Upgrade tips
Contributions
Contribution overview
Development
Setting up Pants
Style guide
Developing Rust
Internal Architecture
Debugging and benchmarking
Running Pants from sources
Releases
Release strategy
Release process
Reference
Global options
Goals
check
count-loc
dependees
dependencies
export-codegen
filedeps
filter
fmt
generate-lockfiles
generate-user-lockfile
lint
list
package
peek
publish
py-constraints
repl
roots
run
tailor
test
typecheck
update-build-files
validate
Subsystems
anonymous-telemetry
autoflake
bandit
black
changed
cli
coverage-py
docformatter
docker
dockerfile-parser
download-pex-bin
flake8
go-test
gofmt
golang
grpc-python-plugin
ipython
isort
lambdex
mypy
mypy-protobuf
pex
pex-binary-defaults
poetry
protoc
pylint
pytest
python
python-infer
python-native-code
python-protobuf
python-repos
python-setup
scc
setup-py-generation
setuptools
shell-setup
shellcheck
shfmt
source
sourcefile-validation
stats
subprocess-environment
twine
yapf
Targets
archive
docker_image
experimental_run_shell_command
experimental_shell_command
file
files
go_binary
go_first_party_package
go_mod
go_third_party_package
pex_binary
protobuf_source
protobuf_sources
python_awslambda
python_distribution
python_requirement
python_source
python_sources
python_test
python_test_utils
python_tests
relocated_files
resource
resources
shell_source
shell_sources
shunit2_test
shunit2_tests
target
Powered by
Suggest
[
Release strategy
](
🔗
)
[
Release process
](
🔗
)