Yet another python packager
...............
insane that such a popular language still doesn’t have this basic problem solved.I use poetry and it works really well. I would consider it solved but that doesn’t mean there isn’t the possibility of a better solution.
It’s a really bold claim. Every time a new package manager and/or dependency resolver comes around, we have the exact same headline
There are 14 competing standards…
It is a bold claim, but based on their success with ruff, I’m optimistic that it might pan out.
I do enjoy ruff a lot, but only time will tell
have there been a lot of them?
pipx, poetry, pipsi, fades, pae, pactivate, pyenv, virtualenv, pipenv
Let’s hope this next one will be the true standard.
pyenv, virtualenv, pipenv, aren’t package managers… they are virtual environment managers / creators and use pip for package management.
We’re using poetry and it solves our problems. I’ll have to look into uv, but I don’t feel in any rush to switch away from poetry.
I’ve been mostly a poetry guy but have tested out uv a bit lately. Two main advantages I see are being able to install Python (I relied on pyenv before) and it’s waaay faster at solving/installing dependencies.
Yeah, it certainly looks nice, but my problems are:
- everything runs in a docker container locally, so I don’t think the caching is going to be a huge win
- we have a half-dozen teams and a dozen repositories or so, across three time zones, so big changes require a fair amount of effort
- we just got through porting to poetry to split into dependency groups, and going back to not having that is a tough sell
So for me, it needs to at least have feature parity w/ poetry to seriously consider.
You should be using dockers cache mounts
https://docs.docker.com/build/cache/optimize/#use-cache-mounts
uv is still faster with a cold cache
and uv does have dep groups
about the second problem, there’s an issue open on writing a migration guide, but migrating manually is not too difficult.
Just tell me how uv is financed …
In my field we rely on conda and I hate it every day.
Got toml file support yet? Then I’m happy to talk :)
they do, just use project management commands like
uv
+ {add
,remove
,sync
,lock
,run
}Looks like it has basic support:
required-python = "..."
dependencies = [ ... ]
Once it gets dependency groups, I’ll try it out. I’m currently using
poetry
, which works, but I’m always interested in better perf.it already has dep groups; e.g.
uv add --optional staging pytest
then
uv sync --extra staging
to install / uninstall packages accordingly.
They have a
--dev
shorthand for dev dependencies, but it seems the dependency group PEP is not final, so there isn’t a standardized way of doing this yet.Private PyPI too?
We’re coming from poetry but it’s slow and needs its own .venv, so a UV binary would be very nice.
yeah, it works with private pypi
I don’t find it in the docs…how to set my PAT?