Skip to main content
ertius.org

uv is really really really good part 1

uv is just fantastic - it's fast, it has good defaults, it's fast, it has lots of features that let you just use Python like it's a modern language that knows not to scribble over /usr.

One thing it makes very easy is running random Python programs - it can automatically create a virtualenv, install the deps, install a particular Python binary if needed, download the release tarball and then run it. So, like this:

uv tool install --force --python python3.12 aider-chat@latest

But sometimes you want to run random things from someone's version control, and that's almost as easy:

uv tool install --force --python python3.12 git+https://github.com/Aider-AI/aider@main

Years ago I would have done something like this:

$ virtualenv ~/.venvs/aider/
$ ~/.venvs/aider/bin/pip install git+https://github.com/Aider-AI/aider@main
$ echo "PATH=$PATH:~/.venvs/aider/bin/" >> ~/.zshrc

Which still requires me to have python3.12 installed somehow - if I didn't have that on e.g. Debian, I'd probably just give up. Thanks to all the people that did so much work over so many years to get Python packaging to this very nice point.