is anyone who has used poetry able to take a stab ...
# development
w
h
@hundreds-father-404, you're our resident Poetry expert
h
@happy-kitchen-89482 @busy-vase-39202 any feedback? -- Hi, author here. Poetry and Pants are similar in that both do dependency management, virtualenv management, and creating distributions. They're different in that Pants focuses intensely on <>, including coordinating all the tools you may use in modern repos like Pytest, MyPy, Black/Yapf/isort, Flake8/Pylint, and codegen with Protobufs. You have a consistent interface, like
./pants lint ::
to run all your linters, with benefits like running the tools in parallel and with caching The key differentiator for Pants is that it understands your project and its dependencies at the file level, like that the file app.py depends on util.py, which transitively depends on another_util.py. That happens automatically through "dependency inference", mapping your imports to the rest of your project. Understanding your project's dependencies at the file-level means that Pants can safely do things like cache your test results at the file-level—if none of the transitive dependencies of a test changed, the cache can be used. You can also do things like
./pants dependees --transitive //:Django
for you to find everything that transitively uses Django. Feel free to DM or stop by on Slack if you want to talk through anything! I'd be happy to help https://www.pantsbuild.org/docs/getting-help (To be clear, we love Poetry and think they have an amazing UX. We're even using Poetry internally to generate the tool lockfiles!)
I'm not sure what to put in the <>. I was thinking something like "scale as your codebase grows"?
b
ease of use? It's cited so often by new users as a draw, and it sure as heck is legit priority from our pov.
My only concern is that it might seem like a subtle dig at Poetry's ease of use, which is of course not intended at all.
👍 1
Dropping "They're different in that" would probably help with that.
Lead with the "We love Poetry and think they have an amazing UX. We're even using Poetry internally to generate the tool lockfiles!" It's not an aside, it's part of Pants' spirit of loving and enhancing Python's great toolset.
h
Yeah I don't think we can say ease of use. Poetry is renowned for its ease of use. Just, it's use is not as comprehensive as Pants
I think "scale as your code base grows" is probably the right phrase? Ik we want to be clear Pants is useful even in tiny repos, but that is a main differentiator
b
"Pants also prioritizes ease of use, while being more comprehensive <inasmuch as....>."
Is scaling a differentiator compared to Poetry?
w
yes
“scale to supporting many projects in one repository”, etc
👍 1
basically, to better support monorepos.
oh: also, multi-language support.
(which is the kind of thing that matters a lot more in a monorepo)