On May 29, 2017, at 3:05 AM, Nathaniel Smith <njs@pobox.com> wrote:

{package-name}.dist-info might also be reasonable, both here and in
actual installs...

In general get_wheel_metadata is an optimization for the backtracking
resolver (that doesn't exist yet) to more efficiently handle cases
where there are complex constraints and no built wheels (both of which
we hope will be rare). Robert thinks it's very important, and he knows
more about that bit of the code than I do, but if it becomes an issue
we could even defer get_wheel_metadata to a future PEP.


I’d have to think about just {package-name}.dist-info. That would work in the install case (though that would require a whole other PEP so not super relevant to this PEP). The ultimate question is, when pip goes looking for this directory, does it know what it’s looking for or not. If it doesn’t know what it’s looking for, then it has to resort to looking for everything that matches a pattern, and if more than one thing matches said pattern, it has no idea which one it is supposed to use, and it just has to error out.

Perhaps either just using DIST-INFO today, and if we ever support multiple wheels from a single sdist expose a new API that can handle multiple directories and returns the name of said directories. The other option would be to modify get_wheel_data so it returns the name of the dist-info directory that was created, so pip knows what directory it needs to look for.

We’re hopefully going to get a resolver over this summer, we have a GSoC student who is working on just that.


Donald Stufft