Itβs a really bold claim. Every time a new package manager and/or dependency resolver comes around, we have the exact same headline
It is a bold claim, but based on their success with ruff, Iβm optimistic that it might pan out.
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.
Yet another python packager...............
insane that such a popular language still doesnβt have this basic problem solved.
pip
is a perfectly usable package manager and is included in most python distributions now. Is it perfect? No, but it is good enough for every team I have been on.
@CodeMonkey @ertai No it is not perfectly usable for all people, all projects, all situations. uv definitely gets much closer to that.
Putting aside the speed uv has a bunch of features that usually require 2-4 separate tools. These tools are very popular but not very well liked. The fact these tools are so popular proves that pip is not sufficient for many use cases. Other languages have a single tool (e.g. cargo) that are very well liked.
In my field we rely on conda and I hate it every day.
We do geodata science and rely on some pretty specific C++ libraries that are only distributed via conda. While on unix-based systems itβs possible to get some of them from other channels or even building them from source, we mostly have Windows machines in production where we are not that flexible. Docker is unfortunately no solution due to security concerns.
If you are asking why I hate it: Itβs bloated, uses more space than needed and itβs rare I can reproduce an environment from the environment file without running into errors. Using it feels unintuitive, I still google command after years. It was very slow until recently, when the libmamba solver was finally integrated. Last but not least licensing is a pain in the ass.
Iβve been using micromamba/mamba and not had solving issues like I did with conda. Im glad conda integrated libmamba.
Question: why were docker containers deemed security risks?
Just tell me how uv is financed β¦
Got toml file support yet? Then Iβm happy to talk :)
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.
Oh cool, Iβll definitely look into that.
And honestly, the one I need more is a test
group for CI, for things like coverage reporting and whatnot. If I can get that and if having multiple package indexes works properly (i.e. it can check my private repo first, and then pypi), I can probably port our projects to uv, at which point itβs an internal discussion instead of a technical one.