Most Pants functionality is opt-in by adding the relevant _backend_ to the `[GLOBAL].backend_packages
` option in `pants.toml
`. For example:
## Available backends
Backend | What it does | Docs |
`pants.backend.build_files.fmt.black ` | Enables autoformatting `BUILD ` files using `black `. | |
`pants.backend.build_files.fmt.buildifier ` | Enables autoformatting `BUILD ` files using `buildifier `. | |
`pants.backend.build_files.fmt.yapf ` | Enables autoformatting `BUILD ` files using `yapf `. | |
`pants.backend.awslambda.python ` | Enables generating an AWS Lambda zip file from Python code. | [AWS Lambda](🔗) |
`pants.backend.codegen.protobuf.lint.buf ` | Activate the Buf formatter and linter for Protocol Buffers. | [Protobuf](🔗) |
`pants.backend.codegen.protobuf.python ` | Enables generating Python from Protocol Buffers. Includes gRPC support. | [Protobuf and gRPC](🔗) |
`pants.backend.codegen.thrift.apache.python ` | Enables generating Python from Apache Thrift. | [Thrift](🔗) |
`pants.backend.docker ` | Enables building, running, and publishing Docker images. | [Docker overview](🔗) |
`pants.backend.docker.lint.hadolint ` | Enables Hadolint, a Docker linter: <https://github.com/hadolint/hadolint> | [Docker overview](🔗) |
`pants.backend.experimental.codegen.protobuf.go ` | Enables generating Go from Protocol Buffers. | |
`pants.backend.experimental.go ` | Enables Go support. | [Go overview](🔗) |
`pants.backend.experimental.java ` | Enables core Java support. | [Java & Scala overview](🔗) |
`pants.backend.experimental.java.lint.google_java_format ` | Enables Google Java Format. | [Java & Scala overview](🔗) |
`pants.backend.experimental.scala ` | Enables core Scala support. | [Java & Scala overview](🔗) |
`pants.backend.experimental.scala.lint.scalafmt ` | Enables the Scalafmt formatter. | [Java & Scala overview](🔗) |
`pants.backend.experimental.python.lint.autoflake ` | Enables Autoflake, which removes unused Python imports: <https://pypi.org/project/autoflake/> | [Linters and formatters](🔗) |
`pants.backend.experimental.python.lint.pyupgrade ` | Enables Pyupgrade, which upgrades to new Python syntax: <https://pypi.org/project/pyupgrade/> | [Linters and formatters](🔗) |
`pants.backend.experimental.python.packaging.pyoxidizer ` | Enables `pyoxidizer_binary ` target. | [PyOxidizer](🔗) |
`pants.backend.google_cloud_function.python ` | Enables generating a Google Cloud Function from Python code. | [Google Cloud Function](🔗) |
`pants.backend.plugin_development ` | Enables `pants_requirements ` target. | [Plugins overview](🔗) |
`pants.backend.python ` | Core Python support. | [Enabling Python support](🔗) |
`pants.backend.python.mixed_interpreter_constraints ` | Adds the `py-constraints ` goal for insights on Python interpreter constraints. | [Interpreter compatibility](🔗) |
`pants.backend.python.lint.bandit ` | Enables Bandit, the Python security linter: <https://bandit.readthedocs.io/en/latest/>. | [Linters and formatters](🔗) |
`pants.backend.python.lint.black ` | Enables Black, the Python autoformatter: <https://black.readthedocs.io/en/stable/>. | [Linters and formatters](🔗) |
`pants.backend.python.lint.docformatter ` | Enables Docformatter, the Python docstring autoformatter: <https://github.com/myint/docformatter>. | [Linters and formatters](🔗) |
`pants.backend.python.lint.flake8 ` | Enables Flake8, the Python linter: <https://flake8.pycqa.org/en/latest/>. | [Linters and formatters](🔗) |
`pants.backend.python.lint.isort ` | Enables isort, the Python import autoformatter: <https://timothycrosley.github.io/isort/>. | [Linters and formatters](🔗) |
`pants.backend.python.lint.pylint ` | Enables Pylint, the Python linter: <https://www.pylint.org> | [Linters and formatters](🔗) |
`pants.backend.python.lint.yapf ` | Enables Yapf, the Python formatter: <https://pypi.org/project/yapf/> | [Linters and formatters](🔗) |
`pants.backend.python.typecheck.mypy ` | Enables MyPy, the Python type checker: <https://mypy.readthedocs.io/en/stable/>. | [typecheck](🔗) |
`pants.backend.shell ` | Core Shell support, including shUnit2 test runner. | [Shell overview](🔗) |
`pants.backend.shell.lint.shfmt ` | Enables shfmt, a Shell autoformatter: <https://github.com/mvdan/sh>. | [Shell overview](🔗) |
`pants.backend.shell.lint.shellcheck ` | Enables Shellcheck, a Shell linter: <https://www.shellcheck.net/>. | [Shell overview](🔗) |