4 ms·
> Does uv work in all of these cases? Yes. The goal of uv is to defuck the python ecosystem and they're doing a very good job at it so far.
by lexicality 9mo ago
> Does uv work in all of these cases?
Yes. The goal of uv is to defuck the python ecosystem and they're doing a very good job at it so far.
- aeurielesn 9mo agoThat's giving way too much credit to uv.
- karel-3d 9mo agouv is really that good.
- hexo 9mo agoIf so, ok, let's port this prototype to back to python and get rid of uv.
- llbeansandrice 9mo agoWhat does this comment mean? Port the dependency and virtual environment manager back to the language? Should we port npm “back” to node js?
- karel-3d 9mo agoWell, go does have the module management, including downloading new versions of itself, built-in into the `go` tool itself. It is really great. But I don't see this hapenning in python.
- hexo 9mo agoYou don't see that happening because you don't want to.
- hexo 9mo agonpm is written in javascript, not rust or c#. yes, we should bring package manager back. if it is so awesome and solves some problem.
- lexicality 9mo agoSounds good, I agree that uv should come with the language in the same way npm comes with node and cargo comes with rust. You keep using words like "we" and "us" so I assume you'll be kicking off writing the PEP to make this happen?
- NeutralCrane 9mo agoIt really isnt
- kraddypatties 9mo agoI'm interpreting this as "uv was built off of years of PEPs", which is true; that being said the UX of `uv` is their own, and to me has significantly reduced the amount of time I spend thinking about requirements, modules, etc.
- lexicality 9mo agoThey've definitely not done it yet, but they're getting there.
- prox 9mo agoWhat are the big offenders right now? What does uv unfuck? I only work a little bit with python.
- lucideer 9mo agouv not only completely replaces all of pip, pyenv & venv, but it also does a much better job than any of them at their intended function, as well as a bunch of other convenient, simple developer-friendly features. 1. pip isn't entirely to blame for all of Python's bad package management - distutils & setuptools gave us setup.py shenanigans - but either way, UV does away with that in favour of a modern, consistent, declarative, parseable PEP 508 manifest spec, along with their own well-designed lockfile (there was no accepted lockfile PEP at the time UV was created - since PEP 715 has become accepted UV has added support, though that PEP is still limited so there's more work to do here). 2. pyenv works fine but uv is faster & adds some nice extra features with uvx 3. venv has always been a pain - ensuring you're always in the right venv, shell support, etc. uv handles this invisibly & automatically - because it's one tool you don't need to worry about running pip in the right venv or whatever.
- kevin_thibedeau 9mo agopip and venv. The Python ecosystem has taken a huge step backwards with the preachy attitude that you have to do everything in a venv. Not when I want to have installable utility scripts usable from all my shells at any time or location. I get that installing to the site-packages is a security vulnerability. Installing to my home directory is not, so why can't that be the happy path by default? Debian used to make this easy with the dist-packages split leaving site-packages as a safe sandbox but they caved.
- kstrauser 9mo agoRegarding why not your home directory: which version of Foo do you install, the one that Project A needs or the incompatible one that Project B needs? The brilliant part about venvs is that A and B can have their completely separate mutually incompatible environments.