(no title)
idoubtit | 2 months ago
Over the years, I've used setup.py, pip, pipenv (which kept crashing though it was an official recommendation), manual venv+pip (or virtualenv? I vaguely remember there were 2 similar tools and none was part of a minimal Python install). Does uv work in all of these cases? The uv doc pointed out by the GP is vague about legacy projects, though I've just skimmed through the long page.
IIRC, Python tools didn't share their data across projects, so they could build the same heavy dependencies multiple times. I've also seen projects with incomplete dependencies (installed through Conda, IIRC) which were a major pain to get working. For many years, the only simple and sane way to run some Python code was in a Docker image, which has its own drawbacks.
lexicality|2 months ago
Yes. The goal of uv is to defuck the python ecosystem and they're doing a very good job at it so far.
prox|2 months ago
I only work a little bit with python.
aeurielesn|2 months ago
simonw|2 months ago
One of the neatest features of uv is that it uses clever symlinking tricks so if you have a dozen different Python environments all with the same dependency there's only one copy of that dependency on disk.
zahlman|2 months ago
For pip to do this, first it would have to organize its cache in a sensible manner, such that it could work as an actual download cache. Currently it is an HTTP cache (except for locally-built wheels), where it uses a vendored third-party library to simulate the connection to files.pythonhosted.org (in the common PyPI case). But it still needs to connect to pypi.org to figure out the URI that the third-party library will simulate accessing.
runjake|2 months ago
Before uv came along I was starting to write stuff in Go that I’d normally write in Python.
QuercusMax|2 months ago
Python's always been a pretty nice language to work in, and uv makes it one of the most pleasant to deal with.
kristianbrigman|2 months ago
Unlike something like Rust, which has much fewer users (though growing) and requires PhDs in Compiler Imprecation and Lexical Exegetics.
Or C++ which has a much larger installed base but also no standard distribution method at all, and an honorary degree in Dorsal Artillery.
whimsicalism|2 months ago