Pants 2.29.0 is released!

Photo by Klares Vincent on Unsplash

Photo by Klares Vincent on Unsplash

Photo by xiaokang Zhang on Unsplash

Photo by Kristin Snippe on Unsplash

Photo by Agê Barros on Unsplash

Photo by Jiawei Zhao on Unsplash

Photo by Getty Images on Unsplash
Pants is just one of many build orchestration tools in the world. As of Pants v2.23.0, Pants better supports integrating seamlessly with other tools in your development workflow via the new "workspace environments" feature. With workspace environments, you can run processes in the repository itself (i.e., the workspace) instead of in the usual execution sandbox. This support is useful for better integrating Pants with third party tooling which assumes it runs from your repository.
Read on for an example of how to use this support to integrate Bazel with Pants.

Photo by Sarah Kilian on Unsplash
No (software) project survives without listening to its community of users. And the Pants project is no different. What does this mean? It is time for the 2024 Pantsbuild User Survey!
We want to hear from our community about how well (or not so well) the project is going and how it can be improved.

Photo by Florian Rebmann on Unsplash

Photo by David Clode / Unsplash
The Python development community concurrently supports multiple version of the Python programming language. These are in various states such as "prerelease", "bugfix", "security", or "end-of-life". For example version 3.12 is currently in "bugfix" while 3.8 is the oldest still receiving security updates. The cadence of future release is currently governed by PEP 602 – Annual Release Cycle for Python
Today we are excited to announce that Klaviyo has become the first Platinum sponsor of the Pants project via the corporate sponsorship program! This is one of the first such sponsorships through our new Open Source Sponsorship program, through which we are trying to support the open source projects we depend on. While the core development and maintenance of Pants is volunteer driven, there are costs involved with maintaining and distributing such a large piece of software, costs which far too often are covered by individual volunteers. We benefit enormously from this project and want to help contribute to its ongoing success.

Photo by Joshua Kettle / Unsplash
We are pleased to announce Pants 2.21.0, the latest release of Pantsbuild, the scalable and ergonomic build system. To update, set pants_version = "2.21.0" in your pants.toml. If you're not using Pants yet, get started now.
Highlights in 2.21 include:
[test].attempts_default__defaults__ symbol will now set default values for generated targets too. For instance, __defaults__({python_source: dict(skip_black=True)}) will now apply to the python_source targets generated by a python_sources target, without having to write __defaults__({(python_source, python_sources): ...})cache_from field on docker_image now supports multiple values.experimental-deploy goal now has built-in support for the --dry-run option.pants.backend.experimental.scala.lint.scalafix backend.
Photo by Jongsun Leed / Unsplash
We are pleased to announce Pants 2.20.0, the latest release of Pantsbuild, the scalable and ergonomic build system. To update, set pants_version = "2.20.0" in your pants.toml. If you're not using Pants yet, get started now.
Highlights in 2.20 include:
BUILD files and normal Python files.pom.xml files, and other related improvements.sh_boot executable, and check.emit_warnings now works as advertised and comes with a global option.pants.backend.experimental.docker.podman.
"Blue Bill Duck" by Richard Ashurst licensed under CC BY 2.0
The 2.15 series represents the biggest change to Pants since version 2.0, and we're excited to share how it can let you complete more workflows, more easily, in more places. Including cross-platform builds, containerized builds with Docker, and easier configuration for local builds…

Photo by James Wainscoat / Unsplash
Highlights include: less boilerplate via hierarchical defaults for target field values, better Golang monorepo support, with multiple go.mods, do more of your workflows in Pants with the experimental deploy goal (with initial support for Helm), and much more…

Photo by Henry & Co. / Unsplash
We're pleased to announce Pants 2.13.0. Highlights include better command line arguments for file sets, improved JVM support, easier access to parallel execution in CI, and lower barriers to adoption for Python projects that currently use existing distribution and build tools.




Why Pants for Golang? A consistent interface for all languages & tools, integration with Git + advanced project introspection, and remote caching and execution. All with minimal boilerplate.

Photo by Ian Taylor / Unsplash

Photo by Joakim Honkasalo / Unsplash

Photo by Elisa Calvet B. / Unsplash

Photo by Thomas Ciszewski / Unsplash
Successful open source projects are full of tradeoffs between purity vs. pragmatism. We often remind ourselves "Do not let perfect be the enemy of good".

Photo by Giulia May / Unsplash

Photo by Nicholas Cappello / Unsplash

Photo by Darling Arias / Unsplash

Photo by Yasamine June / Unsplash

Photo by Jess Bailey / Unsplash
There are so many tools in the Python development ecosystem. Installing, configuring and orchestrating them—all while not re-executing work unnecessarily—is a hard problem, especially as your codebase grows.
Fortunately, there is now a tailor-made (pun intended) solution: Pants v2!