News for hackers. Stuff that matters.
Re:Conda: A Package Management Disaster? by LarsDu88 on Friday December 20, 2024 @12:21AM (#42468493)
Poetry is pretty slow. I think `uv` will ultimately displace it on that basis alone.
Re:Conda: A Package Management Disaster? by lrog on Friday December 20, 2024 @02:52AM (#42469117)
Can you recommend any good article / comparison of uv vs poetry vs conda?

We've used different combinations of pipx+lockfiles or poetry, which has been so far OK'ish. But recently discovered uv and are wondering about existing experience so far across the industry.

Re:Conda: A Package Management Disaster? by NeutralForest on Friday December 20, 2024 @02:28PM (#42474115)
From my experience, uv is way better and it's also PEP compliant in terms of pyproject.toml. Which means in cas uv isn't a big player in the future, migrating away isn't too difficult.

At the same time, poetry still uses a custom format and is pretty slow.

Re:Conda: A Package Management Disaster? by LarsDu88 on Friday December 20, 2024 @07:58PM (#42476645)
I wrote an overview, but didn't post benchmarks https://dublog.net/blog/so-many-python-package-managers/
Re:Conda: A Package Management Disaster? by emptiestplace on Friday December 20, 2024 @01:01AM (#42468679)
I actually can't believe how fast `uv` is.
Re:Conda: A Package Management Disaster? by jkrubin on Friday December 20, 2024 @01:05AM (#42468693)
Ditto. It’s wild.
Re:Conda: A Package Management Disaster? by delduca on Friday December 20, 2024 @03:28PM (#42474710)
Poetry is a pain. uv is much better IME/IMO.
Re:Conda: A Package Management Disaster? by AnthonBerg on Friday December 20, 2024 @04:21PM (#42475169)
For what it’s worth – A small technical fact:

It is entirely possible to use poetry to determine the precise set of packages to install and write a requirements.txt, and then shotgun install those packages in parallel. I used a stupidly simple fish shell for loop that ran every requirements line as a pip install with an “&” to background the job and a “wait” after the loop. (iirc) Could use xargs or parallel too.

This is possible at least. Maybe it breaks in some circumstances but I haven’t hit it.

Re:Conda: A Package Management Disaster? by macinjosh on Friday December 20, 2024 @09:17PM (#42477003)
That poor package server getting 39 simultaneous pulls at the same time from one user.
Re:Conda: A Package Management Disaster? by AnthonBerg on Saturday December 21, 2024 @05:35AM (#42478813)
This is indeed something to consider!

Not as an excuse for bad behavior but rather to consider infrastructure and expectations:

The packages might be cached locally.

There might be many servers – a CDN and/or mirrors.

Each server might have connection limits.

(The machine downloading the packages miiiiiight be able to serve as a mirror for others.)

If these are true, then it’s altruistically self-interested for everyone that the downloader gets all the packages as quickly as possible to be able to get stuff done.

I don’t know if they are true. I’d hope that local caching, CDNs and mirrors as well as reasonable connection limits were a self-evident and obviously minimal requirement for package distribution in something as arguably nation-sized as Python.

And… just… everywhere, really.

Re:Conda: A Package Management Disaster? by robertlagrant on Friday December 20, 2024 @06:29PM (#42476190)
How is uv so much faster? My understanding is Poetry is slow sometimes because PyPi doesn't have all the metadata required to solve things, so it needs to download packages and then figure it out.
Re:Conda: A Package Management Disaster? by sswatson on Sunday December 22, 2024 @09:59PM (#42491328)
If I recall correctly, uv is doing some ninja stuff like guessing the part of the relevant file that is likely to contain the metadata it needs and then doing a range request to avoid downloading the whole file.
Re:Conda: A Package Management Disaster? by robertlagrant on Friday December 27, 2024 @12:44AM (#42520195)
Thanks, that makes sense. I guess Poetry could add that if they liked.