News for hackers. Stuff that matters.
Re:A year of uv: pros, cons, and should you migrate by oefrha on Wednesday February 19, 2025 @01:21AM (#43099150)
Conda is the dreaded solution to the dreadful ML/scientific Python works-on-my-computer dependency spaghetti projects. One has to be crazy to suggest it for anything else.

uv hardly occupies the same problem space. It elevates DX with disciplined projects to new heights, but still falls short with undisciplined projects with tons of undeclared/poorly declared external dependencies, often transitive — commonly seen in ML (now AI) and scientific computing. Not its fault of course. I was pulling my hair out with one such project the other day, and uv didn’t help that much beyond being a turbo-charged pip and pyenv.

Re:A year of uv: pros, cons, and should you migrate by mufasachan on Wednesday February 19, 2025 @02:34AM (#43099615)
Eh, ML/scientific Python is large and not homogeneous. For code that should work on cluster, I would lean towards a Docker/container solution. For simpler dependancy use cases, pyenv/venv duo is alright. For some specific lib that have a conda package, it might be better to use conda, _might be_.

One illustration is the CUDA toolkit with torch install on conda. If you need a basic setup, it would work (and takes age). But if you need some other specific tools in the suite, or need it to be more lightweight for whatever reason then good luck.

btw, I do not see much interest in uv. pyenv/pip/venv/hatch are simple enough to me. No need for another layer of abstraction between my machine and my env. I will still keep an eye on uv.

Re:A year of uv: pros, cons, and should you migrate by oefrha on Wednesday February 19, 2025 @04:07AM (#43100146)
Oh I'm not saying conda is a good solution for all ML/scientific. I was making the assertion that it's terrible for basically everything else.
Re:A year of uv: pros, cons, and should you migrate by mufasachan on Wednesday February 19, 2025 @04:18AM (#43100217)
My bad! As you said, this part of Python code bases is chaotic (: