Where does the
data-requires-python information shown in the attributes of links to distributions on PyPI (PEP 503) come from? Does warehouse read this bit of information from the metadata inside the distribution file? Is it delivered by the client on upload? From a quick research, seems like it comes from the client (here in twine).
In a similar way, could all the metadata relevant to dependency resolution (name, version, dependency requirements, Python requirements, is there more?) be published in similar data attributes (maybe Base64 encoded, maybe all merged into 1 attribute). The goal would be that in a best case scenario the dependency resolution could be done completely without downloading any distribution (only by parsing the HTML pages).
For wheels, this metadata is (as far as I can tell) static. Work is currently being done to specify a way to declare this metadata in a static way (where possible) for source distributions as well.
Tools such as pip could cache this information (the HTML pages) and potentially go as far as doing most of the dependency resolution offline.
Does it seem feasible, reasonable, and meaningful?