On Mon, Sep 4, 2017 at 5:09 PM, xoviat <xoviat@gmail.com> wrote:
Nathaniel:
Pip requires egg_info to discover dependencies of source distributions so that it can build wheels all at once after downloading the requirements. I need to move pip off of egg_info as soon as possible and dist_info is required to do that.
"Requires" is a strong word -- AFAIK this is just a historical artifact. I don't really know what you're talking about in the second sentence. The only reason I can think of that setuptools would need a dist_info command would be to implement the PEP 517 prepare_wheel_metadata hook. But this hook is optional and in fact provides no value right now, so it can't be a blocker for anything. (In fact I can't see any reason why pip would ever call it before the resolver lands.) So either (a) there's some other reason you want a dist_info command, (b) there's some reason I'm missing why prepare_wheel_metadata matters, or (c) one of us is misunderstanding something :-). -n
2017-09-03 21:00 GMT-05:00 Nathaniel Smith <njs@pobox.com>:
On Sun, Sep 3, 2017 at 11:14 AM, xoviat <xoviat@gmail.com> wrote:
Just an update for everyone here:
1. We're currently waiting on the implementation of the 'dist_info" command in the wheel project. 2. Once that is done we can switch pip over to reading dist-info rather than egg_info. 3. Then we can move the backend over to setuptools. Because Jacob has a much more efficient release system than pip, I anticipate having a release of setuptools first and then we can switch pip over to requiring a newer setuptools via PEP 518.
I don't think pip actually has any use for the PEP 517 prepare_wheel_metadata hook right now though? Historically 'setup.py egg-info' was needed to kluge around unwanted behavior in 'setup.py install', but with a PEP 517 backend that's irrelevant because 'setup.py install' is never used. And in the future when pip has a real resolver, then prepare_wheel_metadata should allow some optimizations. But right now, prepare_wheel_metadata is completely useless AFAIK.
So why is 'setup.py dist_info' a blocker for things?
-n
-- Nathaniel J. Smith -- https://vorpus.org
-- Nathaniel J. Smith -- https://vorpus.org