So I’m no expert, but I have been a hobbyist C and Rust dev for a while now, and I’ve installed tons of programs from GitHub and whatnot that required manual compilation or other hoops to jump through, but I am constantly befuddled installing python apps. They seem to always need a very specific (often outdated) version of python, require a bunch of venv nonsense, googling gives tons of outdated info that no longer works, and generally seem incredibly not portable. As someone who doesn’t work in python, it seems more obtuse than any other language’s ecosystem. Why is it like this?
It is. In this older article (by Anna-Lena Popkes) uv is still not in the middle, but I would claim it’s the new King of Project Management, when it comes to Python.
uv init --name <some name> --package --app
and you’re off to the races.Are you cloning a repo that’s
uv
-enabled? Justuv sync
and you’re done!Heck, you can now add dependencies to a script and just
uv run --script script.py
(IIRC) and you don’t need to install anything -uv
will take care of it all, including a needed Python version.Only downside is that it’s not 1.0 yet, so the API can change at any update. That is the last hurdle for me.