The simple index pip and uv expect
PEP 503 HTML and PEP 691 JSON from the same URL, with #sha256 fragments on every file so pip --require-hashes and uv lockfiles verify what they download. PEP 658 core metadata lets resolvers read a wheel's dependencies without downloading the wheel, and Requires-Python is passed through.