4 ms·
Ruff is nice, but not important, uv is one of the few things making the python ecosystem bearable. Python is a language for monkeys, and if you don't give monke
by arw0n 7mo ago
Ruff is nice, but not important, uv is one of the few things making the python ecosystem bearable. Python is a language for monkeys, and if you don't give monkeys good tools, they will forever entangle themselves and you. It is all garbage wrapped in garbage. At least let me deploy it without having to manually detangle all that garbage by version.
I'm done pretending this is a "right tools for the right job" kind of thing, there's wrong people in the right job, and they only know python. If no one self-writes code anymore anyway, at least use a language that isn't a clusterfuck of bad design decisions, and has 1 trillion lines of code in the collective memory of people who don't know what a stack is.
- aprdm 7mo agoPython existed for years before uv with a huge ecosystem, and will continue to do so after/if it dies
- Terretta 7mo agouv, yes*, but really PEP 723: https://peps.python.org/pep-0723/ https://peps.python.org/pep-0723/ * disclosure: We are a commercial client of astral.sh
- notpushkin 7mo agoIt’ll probably be a game changer for scripts, yes. Writing “portable” Python scripts was a nice exercise, though (and will be, for a while).
- the__alchemist 7mo agoThis is cool! I ended up also inventing my own syntax to place at the top of one-off scripts to specify deps. (For single-file Python scripts, vs one with a full project dir that has pyproject.toml) I will adopt this instead.
- shurane 7mo agoSounds a lot like vim/emacs modelines. This is neat for standalone scripts.
- theptip 7mo agoI agree uv is great but let’s not get carried away here. Poetry is good, pip was fine for many use-cases after they added native lock files.
- PaulHoule 7mo agoif you are working on one tiny project on your machine that pips in four packages you probably think pip was OK. Circa 2017 I was working on systems that were complex enough that pip couldn't build them and after I got to the bottom of it I knew it not my fault but it was the fault of pip. I built a system which could build usable environments out of pre-built wheels and sketched out the design of a system that was roughly 'uv but written in Python' but saw two problems: (1) a Python dependent system can be destroyed by people messing with Python environments, like my experience is that my poetry gets trashed every six months or so and (2) there was just no awareness by the 'one tiny project on your machine that pips in four packages' people that there was a correctness problem at all and everybody else was blaming themselves for a problem and didn't have a clear understanding of what was wrong with pip or what a correct model for managing python dependencies is (short answer: see maven) or that a 100% correct model was even possible and that we'd have to always settle for a 97% model. The politics looked intractable so I gave up. Now written in rust, uv evaded the bootstrap problem and it dealt with the adoption problem by targeting 'speed' as people would see the value in that even if they didn't see the value in 'correctness'. My system would have been faster than pip because it would have kept a cache, but uv is faster still.
- Affric 7mo agoWell said. I have used them all and UV is the only one that actually solves the problem. It’s insane that people would suggest that Python can go back.
- fud101 7mo ago> everybody else was blaming themselves for a problem and didn't have a clear understanding of what was wrong with pip or what a correct model for managing python dependencies is (short answer: see maven) I always looked down on the Java ecosystem but if it turns out Maven had a better story all along and we all overlooked it, that's wild.
- bodge5000 7mo ago> If no one self-writes code anymore anyway, at least use a language that isn't a clusterfuck of bad design decisions I can get behind the idea that LLM's probably don't need a language designed for humans if humans arent writing it, but the rest of this is just daft. Pythons popularity isn't just pure luck, in fact its only been in recent years that the tooling has caught up to the point where its as easy to setup as it is to write, which should really tell you something if people persevered with it anyway. I'm sorry your favourite language doesnt have the recognition it so rightfully deserves, but reducing python to just "stupid language for stupid people" is, well, stupid
- sitkack 7mo agoPython is the blub language now.
- mapontosevenths 7mo agoKeep in mind that when Graham coined that term Java and C++ were considered blub languages. Speaking as a grey beard myself, I think its safe to say that the grey beards among us will always deride those who didn't have to work as hard as they did.
- hilbertseries 7mo agoAnd Python is four years older than Java.
- tasuki 7mo agoAhaha, I feel this comment. I used to do backend development in superior languages, and sometimes do hobby frontend in superior languages, but my work is Python now. And it kind of has to be Python: we do machine learning, and I work with GDAL and PDAL and all these other weird libraries and everything has Python bindings! I search for "coherent point drift" and of course there's a Python library. The superior languages I mentioned... perhaps they have like a library for JSON encoding and decoding. You need anything else? Great, now you're a library author and maintainer!
- larodi 7mo agorelax, soon u be rewriting the essence of all these libs into something new. python has its days numbered also perhaps for many engineering decisions that are now cheap via llms.
- stuaxo 7mo agoThe LLMs write bad python as easily as any other language. To make it good, you need to review and interate.
- galaxyLogic 7mo agoI think this means reviewing is the main thing with AI, and therefore the language to use should be one where reviewing is easy, for humans.
- larodi 7mo agoindeed, from my perspective doing heavy agentic dev for six months, the language all is implemented should be easy. its api - also. like Swift is super easy to read, but the APIs of underlying libs - not so much. Python is reasonably easy to read, but with GIL and everything is a very slow choice. Zig seems a nice apporach to readability, Rust is definitely not so readable. we may want to invent something akin to concise math notion, but not so much, in between pseudo-code and math.
- 7mo ago
- KaiserPro 7mo agoOk, what am I missing, I've used python for many many years. What does UV give us over pip + venv + pyenv? (I'm not doing this to be a dick, I genuinely want to know what the use case is)
- andyferris 7mo agoEverything “just works” and is fast - and that’s basically it. You can run a script with a one liner and it will automatically get you the same python and venv and everything as whoever distributed the python code, in milliseconds if the packages are already cached on your local computer. Very easy to get going without even knowing what a venv or pypi or anything is. If you are already an expert you get “faster simpler tooling” and if you are a complete beginner it’s “easy peasy lemon squeezy”.
- Eridrus 7mo agoIt's not horrifically slow.
- ghshephard 7mo agoI've used python for roughly 15 years, and 10 of those years I was paid to primarily write and maintain projects written in Python. Things got bearable with virtualenv/virtualenv wrappers, but it was never what I would call great. Pip was always painful, and slow. I never looked forward to using them - and every time I worked on a new system - the amount of finaggling I had to do to avoid problems, and the amount of time I spent supporting other people who had problems was significant. The day I first used uv (about is as memorable to me as the the day I first started using python (roughly 2004) - everything changed. I've used uv pretty much every single day since then and the joy has never left. Every operation is twitch fast. There has never once been any issues. Combined with direnv - I can create projects/venvs on the fly so quickly I don't even bother using it's various affordances to run projects without a venv. To put it succinctly - uv gives me two things. One - zero messing around with virtualenvwrappers and friends. For whatever reason, I've never once run into an error like "virtualenvwrapper.sh: There was a problem running the initialization hooks." Two - fast. It may be the fastest software I've ever used. Everything is instant - so you never experience any type of cognitive distraction when creating a python project and diving into anything - you think it - and it's done. I genuinely look forward to uv pip install - even when it's not already in cache - the parallel download is epically fast - always a joy.
- antonvs 7mo ago> making the python ecosystem bearable You should really qualify that statement, it implies that the Python ecosystem is bearable.
- wiseowise 7mo agoBearable compared to what it was.
- pojzon 7mo agoYes please, lets start with scraping to bin whole internet using javascript and its family. See the point ?
- notpushkin 7mo agouv is nice, but not irreplaceable. An open source, maintenance mode fork would work just as fine. And even if all of uv disappeared today, I’d go just back to Poetry. Slower? Sure, a bit. ...and then I’ve read the rest of your comment. Please do go read the HN guidelines.
- duskdozer 7mo agoI guess it's an individual solution to that, but it's a solution that basically worsens the actual problem, as I see it, which is strict/narrow version pinning with frequent updates to latest and minimal effort to track backwards compatibility let alone try to maintain it. It just turns it into nodejs constant wrestling with package.json changes.