Hi guys, we are currently evaluating using pants a...
# development
h
Hi guys, we are currently evaluating using pants as company’s build system, our code comprised of multiple services that have different lock files that use shared libraries with their own requirements. I was reading the section on python 3rd party dependencies (https://www.pantsbuild.org/docs/python-third-party-dependencies) and saw that pants doesn’t support locking multiple libraries and it says to to talk our use case
w
hey @helpful-jackal-12093! welcome.
an implementation is currently under way for multiple independent resolves/lockfiles
it will probably make the 2.8.x release, so most likely about 1.5 months from now.
but it’s only actually necessary if your multiple projects/libraries have incompatible deps
h
that is very good news actually!
👍 1
w
if they’re compatible, it’s possible to use the current facility
@helpful-jackal-12093: do you know whether the libraries have compatible deps? if you already have pants set up, i can explain how to check there… otherwise, can dump all of the deps into a single pyproject.toml or requirements.txt and see if they resolve
h
It’s not clear currently, but most likely we will end up in some situations that a higher module might cause a problem, but that won’t be a problem since we will fix the packaging constraints to resolve it. Is there a functional version that we can try out? it could really help us define our project now and give us a head start until the code is ready
w
not yet, but @hundreds-father-404 could probably point you to a tracking ticket for it
h
Hey John! Awesome to hear you're interested in this, although also agreed with Stu that it's often simplest to use a single lockfile when possible @ancient-vegetable-10556 and I are sprinting right now to stabilize this week a precursor feature: tool lockfiles, which allow you to have a dedicated lockfile per tool for things like Black and Pytest. That lays a good foundation for the followup of multiple user lockfiles, which will become our next highest priority. This is all tracked in https://github.com/pantsbuild/pants/projects/20
h
this is great news - thank you
h
Hey @helpful-jackal-12093, see https://github.com/pantsbuild/pants/pull/12734 for a big milestone in the project 🙂 If that lands and also the proposed design in the linked ticket #12714 is accepted, most of the design for this project will have been done. Then it's only some implementation of the design Feedback greatly appreciated on this!
h
awesome! this will really help us - we currently moved to a single lock file just to try out pants for current time so this (once merged and released) will allow us to use the full potential of poetry.
🙌 1
h
Great! Any feedback on the design? In case it's not clear, a key difference from poetry is that you can set individual files and packages to use distinct resolves, whereas poetry operates on the entire project / directory tree. Pants let's you be a lot more fine grained