https://pantsbuild.org/ logo
a

ambitious-student-81104

09/24/2021, 3:48 PM
Hey guys! Wondering if you have an "elevator pitch" for why use pants for python? @happy-kitchen-89482 @hundreds-father-404
🙌 1
for more context - trying to sell if to people who might only have had experience with bazel, or not much experience with build at all
like DS
h

happy-kitchen-89482

09/24/2021, 5:43 PM
I have a whole big document on why Pants over Bazel, but as for an elevator pitch:
👀 3
In the last few years Python use has skyrocketed, thanks to its advanced features, its prominence in data science, and its strong ecosystem of frameworks and tools. As a result, developer workflows in Python repos of all scales - resolving dependencies, generating code, testing, typechecking, linting, formatting, packaging and more - are becoming slower, flakier and harder to work with. Pants is a state-of-the-art build system that manages those workflows for you. Pants installs, orchestrates and runs the underlying tools - pip, pytest, mypy, flake8, black, setuptools and many more. It sequences outputs to inputs, uses concurrency to leverage all the cores on your laptop or CI machine, and caches every fine-grained unit of work, so that small code changes don’t trigger huge amounts of repeated effort.  You type a simple command like
./pants test path/to/some/tests
and Pants does the tricky work of figuring out what steps are needed to carry out that command, which tools are needed to run those steps, and how they all fit together. Pants even supports remote caching and execution, so you can share build work across your team with even greater concurrency. Pants significantly improves on earlier build tools: it requires very little configuration and metadata, as it can infer your code’s dependencies via static analysis. It’s designed for real-world Python usage at companies of all sizes, as opposed to the idiosyncratic needs of a single large company. It comes “batteries included”, with support for over 20 Python tools out of the box. And its powerful plugin API makes it easy to extend with new functionality. Pants is supported by a robust, friendly, helpful, open-source community. We actively seek out contributions, bug reports and feature requests and are responsive to user needs. Any organization or individual can have an equal voice in the community. In the last decade Python has “grown up” to become a state-of-the-art language. It deserves a state-of-the-art build experience. Pants is that system!
That would have to be a long-ish elevator ride
a

ambitious-student-81104

09/24/2021, 5:45 PM
takes me 4 deep breaths to go up to 42nd floor 🚀 but i can surely edit it a bit to fit our 1-pager requirement. Thank you so much Benjy!!
h

happy-kitchen-89482

09/24/2021, 5:47 PM
There's two questions we encounter, and this tries to answer: "Python isn't a compiled language, why do I need a build system at all" and "OK, why not make/bazel/whatever"
So I try to use the terminology "developer workflow" to introduce the concept of Python still having a "build"
a

ambitious-student-81104

09/24/2021, 5:47 PM
yah, i think i mainly need the latter
h

happy-kitchen-89482

09/24/2021, 5:48 PM
Lemme find that doc
a

ambitious-student-81104

09/24/2021, 5:51 PM
Got it! thank you
this is gold 🥇
b

busy-vase-39202

09/24/2021, 8:00 PM
By the way, it's totally doable to install Pants concurrent with Bazel, in the same repo, if someone wants to dip a toe in the water or if you want to give a side-by-side demo. Incremental adoption is also great for showing how smoothly a transition can be initiated and how quickly even a first step or two pays off. Usually an attention-getter is showing several linters running concurrently. We have a YouTube video narrated by @hundreds-father-404 that shows that off nicely.
😮 1
@ambitious-student-81104 any feedback you have for that doc, we'd love to hear. It's brand new messaging, so hearing what folks seem to find unanswered, unclear, etc is really valuable; as is hearing which points really landed with them. We know Pants can benefit a lot more people who don't know it yet.
a

ambitious-student-81104

09/24/2021, 8:38 PM
i think you should market that doc more widely LOL
it's very good, with high level and specific examples
if you have a table of side by side comparison that's even better 💯
b

busy-vase-39202

09/24/2021, 9:00 PM
More widely is definitely the plan. Side by side comparison will take more work. As you'd imagine, we follow feature development of Pants a lot more closely than of competing systems.
f

full-toothbrush-75676

09/24/2021, 10:44 PM
Hi, my eyes perked up when I saw this thread b/c I too am trying to sell my team on Pants vs. Bazel – would it be possible to get access to that doc as well 🙉?
b

bored-art-40741

09/24/2021, 11:23 PM
"Manually managing dependencies and third party packaging is my favorite part of software engineering!" Said no-one ever
Probably going to be public with (a version of) it soon anyway...
🙏 1
f

full-toothbrush-75676

09/27/2021, 6:06 PM
Awesome, thank you! This doc looks great
5 Views