[FEATURE REQUEST] add uv as an alternative to pip and pipx
Please confirm these before moving forward.
- [x] I have searched for my feature proposal and have not found a work-in-progress/duplicate/resolved/discarded issue.
- [x] This proposal is a completely new feature. If you want to suggest an improvement or an enhancement, please use this template.
Describe the new feature
add uv as an alternative to pip and pipx without installing it on a system like scoop or chocolatey
Describe how this new feature could help users
uv is an extremely fast Python package and project manager, written in Rust. and does not need to be installed on the system like scoop or chocolatey.
Is uv a drop-in replacement for pip, because if so #3703 could probably fix this by just adding "uv" as a search executable.
uv's README says: "A single tool to replace pip, pip-tools, pipx, poetry, pyenv, twine, virtualenv, and more." So yes.
Is
uva drop-in replacement for pip,
It is not.
Well, while uv is not a strict drop-in replacement for pip, it closely mirrors most of pip’s behavior.
Given the limited differences outlined in the compatibility docs, using uv as executable (with some parameters) via #3703 should work in practice for most workflows.
From the compatibility docs:
However, uv is not intended to be an exact clone of pip, and the further you stray from common pip workflows, the more likely you are to encounter differences in behavior.
Unfortunately, if it's not solidly a drop-in replacement I don't think it's a good idea to add it with #3703, because it could very easily fail or have problematic side effects.
However, there are enough requests for pip and npm and such replacements that it might be worth looking into further down the line, if it can be easily integrated.
Actually, upon reading the docs further, it seems the developers meant that "the further you would get from normal pip workflows" was talking about things irrelevant to the task of UniGetUI - such as configuration files and transitive dependency management, neither of which are needed on a system-wide scale. It doesn't say, but seems to suggest that the basic install / upgrade / remove functionalities are very similar. I would leave this decision up to Martí, and if he gives the all clear I will do some thorough testing with #3703 (hopefully next week) to see if it would work.
A lot of MCP servers are using uv as their default distribution method. So if UniGetUI supports uv (would be even better if comes with an uv executable), it may be a game changer for MCP user community.