More ways
More ways
Posted Aug 22, 2024 0:43 UTC (Thu) by himi (subscriber, #340)In reply to: More ways by NightMonkey
Parent article: uv 0.3.0 released
The new features in this release seem to be expanding on that python project level - expanding the support for managing dependencies, adding support for workspaces (collections of packages with their own pyproject.toml, but with a common lockfile - a concept picked up from cargo), and adding a bunch of extra features to support running code from a package in a managed environment. They've explicitly talked about cargo for python as their goal (though not necessarily as a simple "reimplement all cargo features" - there will likely be cargo features that won't make sense in a python context), so I'd say it's likely that they'll expand things to support all the core functionality that cargo has, and then whatever else is needed for python.
I think it's clearly intended to operate in the same space as poetry, though it also operates happily at a lower level - you can still use it as a better pip or python -m venv (which you definitely /can't/ use poetry for). The fact that those lower-level use cases can benefit from things like lockfiles that are created at the higher level will probably be very useful for deployment or image builds and similar (so you don't need poetry and all its dependencies just to deploy a new environment). It's also more standards compliant than poetry - the dependency format follows pep 508, which means you can feed them directly into pip if necessary, which you can't with poetry's dependency format . . .