Wrote some notes on Aider's unconventional but kind of brilliant installation mechanism, which solves the "isolated Python virtual environment" problem by bundling uv as a dependency! https://simonwillison.net/2025/Mar/6/aider-using-uv-as-an-installer/
@simon That still requires you to `pip install` something in some environment, no? I feel like having a random installer with a dependency on `uv` in your (system?) python is not a good side-effect of this.
Better to have people install `pipx` and then use that to install your CLI tool. It's got the same "now pipx has to live in my global system directory" problem, but at least `pipx` is the *only* think you need there.
@konstin @simon Yeah, I have been using `uv` a bit more lately. My objection here is that I didn't think this "pip install a thing that installs and calls uv" is buying you anything.
The person needs to know enough to use pip, then the installer itself gets installed into some global environment, just to install uv into that same environment?
I don't think that anyone willing to use pip will have a hard time with uv, and it seems that uv has a much better "default" experience for people uninterested in finding out what is going on under the hood.
@simon @konstin Both of those assume that you have pip and also Python, which is already too late to be doing it "right", so you may as well not recommend pip installing it at all, or just say, "this can be installed with pip or uv" or something.
Alternatively, you could just say, "Easiest way to install is uv tool install aider-chat", possibly with a link on how to install uv. I personally would be installing uv as a top level tool through the OS.
One of the bigger problems with the system install is that it moves when Python updates, which I suspect will break a pip installed uv, but it wouldn't be a problem for a system installed uv.