Skip to content

Backends


Most Pants functionality is opt-in by adding the relevant backend to the [GLOBAL].backend_packages option in pants.toml. For example:

pants.toml
[GLOBAL]
backend_packages = [
  "pants.backend.shell",
  "pants.backend.python",
  "pants.backend.python.lint.black",
]

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.experimental.visibility Enables __dependencies_rules__ and __dependents_rules__ Visibility
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