Things seem to have settled with it seeming that people definitely want a solution, but it not being cleared as to which solution they prefer.
Options
Import-Name core metadata
(Or Import-Path if you’re the FLUFL.)
The pros to this is there isn’t any processing needed by consumers of the data as the names will already be written out. It also doesn’t require exposing a new piece of data somehow by index servers.
The con is it needs build back-end buy-in. It also may lead to incorrect data if build back-ends guess wrong or don’t provide a way to manually specify the information.
Serve RECORD
The pro is the file already exists in wheels and so nothing new to invent in that regard. You could also argue that it’s only for wheels is good compared to sdists since you can’t know what files where in an sdist will actually end up in a wheel. This can also be backfilled by indexes.
The cons are no sdist support (which as I said above, could be viewed as a pro since it prevents incorrect guessing of what files actually make up the package). It also requires any consumers to calculate import names instead of having build back-ends do it once for everyone.
Custom file format
Think RECORD but without hashes.
The pro is it could support sdists or any archive format.
The con is it supports any archive format.
It also is yet another format (even if it is as simple as a file path per line).
Which one?
While people are occupied and maybe having conversations at PyCon US, here’s a poll that I will leave open for 2 weeks so it ends post PyCon US sprints. Hopefully a clear preference will show up.
Import-Name core metadata
- Serve
RECORD
- Custom file format