logoalt Hacker News

PaulHoulelast Thursday at 7:53 PM3 repliesview on HN

if 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.


Replies

Affriclast Thursday at 10:18 PM

Well 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.

notpushkinyesterday at 4:16 AM

I still believe Rust is a red herring here. Your ‘uv but written in Python’ would probably have the same success as uv does now, if you did focus on speed over correctness. And I’ve yet to hear about pipx or Poetry getting trashed, but if it is a problem, I don’t think it’s impossible to solve in Python vs Rust.

> The politics looked intractable so I gave up.

So yeah, this is your actual problem. (Don’t worry, I’m in the same camp here.)

show 1 reply
fud101yesterday at 4:08 AM

> 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.

show 1 reply