zlacker

[return to "Constraints Are Good: Python's Metadata Dilemma"]
1. PaulHo+WLm[view] [source] 2024-12-06 16:31:46
>>ingve+(OP)
Eggs are dying out, pointed out by this 2 year old blog post:

https://about.scarf.sh/post/python-wheels-vs-eggs

The metadata problem is related to the problem that pip had an unsound resolution algorithm based on "try to resolve something optimistically and hope it works when you get stuck and try to backtrack".

I did a lot of research along the line that led to uv 5 years ago and came to the conclusion that installing out of wheels you can set up a SMT problem the same way maven does and solve it right the first time. They had a PEP to publish metadata files for wheels in PyPi but I'd built something before that could suck the metadata out of a wheel with just 3 http range requests. I believed that any given project might depend on a legacy egg and in those cases you can build that egg into a wheel via a special process and store it in a private repo (a must for the perfect Python build system)

◧◩
2. the_mi+TUm[view] [source] 2024-12-06 17:18:48
>>PaulHo+WLm
The metadata problem is unrelated to eggs. Eggs haven’t played much of a role in a long time but the metadata system still exists.

Range requests are used by both uv and pip if the index supports it, but they have to make educated guesses about how reliable that metadata is.

The main problem are local packages during development and source distributions.

[go to top]