We keep the interface because we care a lot about long-term support and compatibility. I cannot imagine removing it.
We generally want to add features to the top-level interface such that people don't need or want to use the pip-interface because the top-level interface does everything you need, but better.
And of course that some colleagues of mine insist on using `uv pip` for anything and everything, which feels wrong…
Granted it’s a great feature which made the transition to uv smooth in the first place.
uv already does something similar with `tool.uv.pip.break-system-packages`.
If Astral/OpenAI are willing to support uv pip in the long term, why do you think they should use a stick as well as a carrot to get people on uv's top level interface?
While uv's standard workflows probably works for 80+% of people, at least if they learn them, I certain do a lot of stuff with uv pip and pip that can't be replicated.
Also both uv pip and pip support installing from pylock.toml files, which are fully reproducible.
Is there any compelling reason not to?