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.