Hi everyone :wave: We are evaluating Pants for ou...
# general
m
Hi everyone 👋 We are evaluating Pants for our Python application that is composed of multiple services and multiple libraries used by those services. For deployment we are producing Docker images. Pants looks like a really good fit for us, as it handles all the dependency, ci and build aspects that today we manage with custom scripts. The thing is that we have each app/library in a different repository which doesn't seem like the way to go when using pants, and migrating to a monorepo is a big undertaking. So my question is, is it recommended to use pants on a multi-repo setup, or it misses the point?
b
I would say it misses the point. The main comparative advantage for Pants at my work is that it makes code sharing in a large code base pretty easy. We used to have several small to medium-sized repos which we previously maintained in a multi-repo setup. For personal projects and small repos, I use
uv
to handle most of the other points you mentioned.
🤔 1
p
To add to the above, we made the move in stages recently • Create the new monorepo with pants components and get basic CI working • Move one of our applications (with only 3rd party dependencies, no internal libraries) ◦ That was largely as simple as moving the app into
src/app
in the pants repo the next time we made a change • Now whenever we touch an app or library it moves to the monorepo as part of that work It's made dependency management so much easier and reduced tech debt with different versions of libraries living much longer than our SDLC policies say they should
m
Thanks for the info! Does it allow you to still pin some internal libraries versions, or you are now using everything with the latest version?
p
We can still pin libraries but then we use our internal repo to pull those. We're marching aggressively to forcing latest across the apps though. But we're a small firm so that might not be possible for everyone