https://pantsbuild.org/ logo
#general
Title
# general
m

mammoth-monkey-19263

11/11/2020, 10:36 PM
Foursquare definitely has not completed a migration to Python 3.
h

hundreds-father-404

11/11/2020, 10:37 PM
Indeed, perhaps I should change that Foursquare link. That’s actually the blog written from me about Pants’s migration to Py3 when I was a Foursquare intern, which was to unblock Foursquare
m

mammoth-monkey-19263

11/11/2020, 10:37 PM
I remember, friend.
❤️ 1
h

hundreds-father-404

11/11/2020, 10:39 PM
None of the functionality in this blog existed in Pants v1 btw. These features are all from things I would have died to have when working on Foursquare’s migration I’ve been talking to Mateo and Mathieu about possibly upgrading to Pants v2 for the Python portion of the codebase
m

mammoth-monkey-19263

11/12/2020, 12:41 AM
I actually logged in to this Slack channel because I started half-heartedly looking into upgrading our pants instance from 1.7.0.
h

hundreds-father-404

11/12/2020, 12:54 AM
Woah, I had thought y’all were on something more recent. Let us know how we can help y’all upgrade. Things are much nicer and also faster now
Probably the biggest feature Foursquare engineers would like is dependency inference. Removes about 90% of BUILD files and about 30% finger grained cache keys. https://blog.pantsbuild.org/dependency-inference/ I remember thinking Pants was stupid when at 4S because of BUILD files 🙈
https://www.pantsbuild.org/docs/how-to-upgrade-pants-2-0#step-2-setup-jvm-node-and-go-support-if-relevant describes how you can have JVM still use an old version of Pants and have Python use something modern like 2.0 I remember Mateo and Mathieu had some trouble with JVM concurrency issues when upgrading; it may be much more tractable to only upgrade Python for now
m

mammoth-monkey-19263

11/12/2020, 6:19 PM
I saw the post about BUILD inference. It seems like a great feature. I felt the same way about BUILD files when we first started using pants, but now I kind of like them. All our build files are auto-generated by a tool, and I think it is helpful to have a way of inspecting which packages have which dependencies. And it’s really nice to be able to see how dependencies change when reviewing a PR.