Pants 2.24.0 is released!

Photo by Jiawei Zhao 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.mod
s, 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!