Skip to main content

The ergonomic and hermetic software build system for Python, Java, Scala, Kotlin, Go, and Shell. Pants lets you fearlessly scale up your codebase.

Project description

Pants is an Apache2 licensed build tool written in Python and Rust.

The latest documentation can be found at pantsbuild.org.

2.18.x Release Series

2.18.0a0 (Aug 18, 2023)

New Features

  • Add Docker global no build cache option (#19533)

  • add latest helm versions; upgrade default (#19592)

  • Add tfsec linter for Terraform (#19525)

Bug Fixes

  • Use named cache for Docker-env PBS (#19611)

  • Make mypy cache move truly atomic (#19610)

  • Fix an erroneous options scope in an export error message. (#19605)

  • javascript: Assign a default name to root nodejs resolves (#19245)

  • Cache Go processes using full version string (#19558)

  • Scala: support Enums in dependency inference (#19588)

Documentation

  • docs: set EnvironmentBehavior in plugin Goal examples (#19590)

  • docs: add 2.16 entry to changelog (#19589)

  • initial draft of What's New for v2.17.x (#19168)

  • Spelling fix in target docs (#19578)

  • Update and streamline the release process docs. (#19575)

  • Add ruff, adjust pyugprade, autoflake in docs (#19555)

  • Catch google artifact registry gotcha (#19568)

  • Stop referring to ~/.cache/pants/setup in CI docs (#19554)

2.18.0.dev7 (Aug 07, 2023)

New Features

  • bump pyright to 1.1.316 (#19426)

User API Changes

  • Upgrade the default pip to v23.1.2. (#19538)

Plugin API Changes

  • Resolve pants_requirements from direct wheel links to GitHub Release assets (#19432)

Bug Fixes

  • Support discarding inferred Helm snapshot dependencies (#19527)

Documentation

  • Fix dead doc links (#19546)

  • docs: fix rules-api docs typos (#19539)

  • docs: remove Toolchain references (#19508)

2.18.0.dev6 (Jul 24, 2023)

New Features

  • python: add default module mapping of scikit-video Python package (#19498)

  • feat: ptype type checker (#19440)

  • Implement Helm chart versioning (#19493)

  • Add build platform and hosts options to docker_image target (#19475)

  • paths goal: allow finding paths between addresses that expand to multiple targets (#19482)

  • Add Support for Kubeconform in Helm backend (#19427)

  • Resolve Docker addresses relative to the helm_deployment (#19455)

  • Wire pep621 into tailor (#19296)

Bug Fixes

  • Support using __defaults__ in same BUILD file as environment targets. (#19446)

  • Fix golangci-lint runner script (#19015)

  • pex_binary sandbox: Traversing dep graph, stop after package targets (#19155)

Documentation

  • docs: mention addressing targets in the current directory with : (#19510)

  • Add Aviva Credito to user list. (#19511)

  • docs: fix typo from docker.md (#19504)

  • docs: explain that run_goal_use_sandbox field won't have any effect with the test goal execution (#19501)

  • docs: explain that visibility rules do not apply transitively (#19476)

  • Visibility: documentation fixes and clarifications. (#19438)

2.18.0.dev5 (Jul 14, 2023)

New Features

  • Upload local Pants PEXs to release (#19450)

  • Automate GitHub release creation, with wheels (#19444)

Bug Fixes

  • Visibility: fix issue with using target type in verbose rule selector. (#19437)

  • Use the "package_name" variable to fix an UnboundLocalError. (#19433)

  • Raise error for conflicting Docker registries (#19344)

  • Provide proper error message for unrecognized symbols during bootstrap. (#19225)

Documentation

  • Fix unwanted line break in remote-caching-execution.md (#19461)

  • Add Embark Studios to Who Uses Pants page. (#19442)

  • Update adhoc-tool.md (#19434)

2.18.0.dev4 (Jul 08, 2023)

New Features

  • Support per backend requirements (#19406)

Bug Fixes

  • Embed a hash of the relevant implementation into the dep inference cache (#19393)

  • Improved error message when referencing undefined BUILD symbols (#19286)

Documentation

  • Refine run_shell_command docs (#19413)

  • Tweak getting-help docs (#19418)

  • Add a sponsorships page to the docsite. (#19412)

2.18.0.dev3 (Jun 30, 2023)

New Features

  • turn path/BUILD into path in the tailor goal (#19323)

  • Terraform: Add experimental-deploy and wire-in dependency inference (#19185)

  • add support for alias-flags (#19034)

  • Add environment variable help options (#19078)

  • Add build_network option to docker_image target (#19354)

User API Changes

  • Remove support for referencing 2nd owner via file. (#19400)

Plugin API Changes

  • Remove deprecated PythonBinary type. (#19399)

Bug Fixes

  • Fix pytest-cov validation check. (#19366)

Documentation

  • docs: recommend scie-pants on upgrade tips page (#19139)

  • docs: fix markdown inconsistencies (#19363)

  • docs: apply suggested edits to guide docs from readme.com (#19374)

  • docs: add style guide instructions for writing Python help strings (#19365)

  • docs: update plugin writing tutorials (#19369)

  • docs: fix markdown inconsistencies (#19359)

2.18.0.dev2 (Jun 19, 2023)

New Features

  • Support Helm unittest snapshots (#19264)

  • javascript: Rust based dep inference for javascript (#18985)

  • Add TraverseIfNotPackageTarget deps traversal predicate for use in plugins (#19306)

  • Deprecate old value interpolation in Helm deployments (#19302)

  • Infer FaaS runtime from interpreter constraints, when unambiguous (#19314)

  • Include complete platforms for FaaS environments for more reliable building (#19253)

  • Add experimental support for Rustfmt (#18842)

  • Helm deployment chart field (#19234)

Plugin API Changes

  • Replace include_special_cased_deps flag with should_traverse_deps_predicate (#19272)

Bug Fixes

  • Fix helm documentation example (#19271)

  • Raise an error if isort can't read a config file (#19294)

  • Improve handling of additional files in Helm unit tests (#19263)

  • Add taplo to the release (#19258)

  • Handle from foo import * wildcard imports in Rust dep inference parser (#19249)

  • Support usage of scala_artifact addresses in scalac_plugin targets (#19205)

Performance

  • scandir returns Stats relative to its directory. (#19246)

Documentation

  • docs: layout tweak of caching info, remove toolchain :( and additional info about bazel-remote-cache (#19299)

  • Get doc titles from the in-repo markdown files (#19311)

2.18.0.dev1 (Jun 02, 2023)

New Features

  • Add support for packaging python AWS Lambda layers (#19123)

  • Add visibility linter to report all violations. (#17671)

User API Changes

  • Remove the old Python tool lockfile functionality. (#19218)

  • Rename python_awslambda to python_aws_lambda_function (#19216)

  • Deprecate the version/extra_requirements options on python tools. (#19204)

Plugin API Changes

  • Deprecate using PythonBinary (#19209)

Bug Fixes

  • store stdout/stderr output from tests as bytes (#19184)

  • Discover Scala REPL main class and coordinates (#19189)

  • Scrub the Pyenv install dir before attempting an install. (#19193)

  • Include scala_artifact classpath rule (#19190)

  • docker_image: secrets paths are now expanding ~ to the users home directory. (#19130)

  • Support explicit dependencies with scala_artifact (#19187)

  • Avoid extra . in from .. import parent imports in Rust Python dep inference (#19175)

Documentation

  • Update FaaS docs for 2.18, including Lambda layers (#19217)

  • Add tobni to Maintainers (#19195)

  • Adjust FaaS docs for layout = "zip" (#19180)

2.18.0.dev0 (May 26, 2023)

New Features

  • Support scala_artifact (#19128)

  • pass "--debug" flag to all helm invocations if requested (#19093)

  • Enable env vars in node_build_script (#19100)

User API Changes

  • Remove or bump deprecations (#19169)

  • Switch to [lambdex].layout = "zip" by default, deprecating the section (#19122)

  • javascript: Allow nodejs-backed tools to point to a resolve and/or package manager (#19040)

  • Terraform: Hashes for MacOS binaries have changed (#19004)

  • Implement layout="zip" for Lambda/GCF, deprecating lambdex (#19076)

  • Run terraform init as part of check goal (#18974)

  • Deprecate [mypy].extra_type_stubs and its lockfile. (#19084)

  • Remove more 2.18.0.dev0 deprecations (follow up to #19073) (#19077)

  • Bring the tool --export option deprecation forward. (#19079)

  • Only build and release wheels for Python 3.9. (#18829)

  • Require pants to run via scie-pants. (#19075)

  • Some 2.18.0.dev0 deprecations (#19073)

  • Implement layout="zip" for Lambda/GCF, skipping lambdex (#19022)

Plugin API Changes

  • Simplify interpreter-related CI config. (#19096)

Bug Fixes

  • If a shebang already exists when adding a preamble, preserve it. (#19133)

  • Workaround botocore bug in S3 URL Handler backend (#19056)

  • Don't try and garbage collect tempfiles (#19103)

  • Allow the usage of digits in named cache names (#19052)

Documentation

  • Fix docs link to pants_from_sources script. (#19088)

  • Add botocore-a-la-carte reference too s3 URL Handler (#19055)

  • add bazel-remote to list of compatible remote caches (#19041)

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

pantsbuild.pants-2.18.0a0-cp39-cp39-macosx_11_0_arm64.whl (13.2 MB view hashes)

Uploaded CPython 3.9 macOS 11.0+ ARM64

pantsbuild.pants-2.18.0a0-cp39-cp39-macosx_10_15_x86_64.whl (13.4 MB view hashes)

Uploaded CPython 3.9 macOS 10.15+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page