[Distutils] PEP 517 again
Chris Jerdonek
chris.jerdonek at gmail.com
Mon Sep 4 22:00:49 EDT 2017
On Mon, Sep 4, 2017 at 6:41 PM, xoviat <xoviat at gmail.com> wrote:
> The PR that I am taking about is not for pip but for the wheel project.
Okay, well you started the thread asking something similar for your
pip PR (see below). I'm sure similar considerations hold for the wheel
project.
On Mon, Sep 4, 2017 at 5:11 PM, xoviat <xoviat at gmail.com> wrote:
> Also if someone with pip write access could please discuss and hopefully
> merge my initial PR on pip, I would very much appreciate it. Paul seems to
> be short on time.
--Chris
>
> On Sep 4, 2017 8:19 PM, "Chris Jerdonek" <chris.jerdonek at gmail.com> wrote:
>>
>> On Mon, Sep 4, 2017 at 6:08 PM, xoviat <xoviat at gmail.com> wrote:
>> > In any case, we're going to need this for prepare_metadata, so the
>> > question
>> > you should ask is: what are the reasons for *not* merging this? I
>> > haven't
>> > heard any so far but that doesn't mean that they don't exist. If there
>> > are
>> > none, then I don't see why we cannot merge my wheel PR and do a release.
>>
>> FYI, you're not the only one waiting for PR's to be merged. There are
>> 56 other PR's, some of which have already been approved by repo
>> members with commit access. I would try to be a little more patient.
>> Otherwise, everyone can be emailing the list saying the same thing and
>> asking why their PR isn't being merged.
>>
>> --Chris
>>
>> >
>> > 2017-09-04 19:51 GMT-05:00 xoviat <xoviat at gmail.com>:
>> >>
>> >> > 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.
>> >>
>> >> Yes. That is absolutely correct.
>> >>
>> >> > But this hook is optional and in fact provides no value right now, so
>> >> it can't be a blocker for anything.
>> >>
>> >> The simplest way to start on this issue is to replace egg_info in pip
>> >> with
>> >> prepare_metadata_for_build_wheel. It is absolutely a historical
>> >> artifact but
>> >> I need to work on one issue at a time. The next issue will be replacing
>> >> egg_info in pip with prepare_metadata_for_build_wheel.
>> >>
>> >> 2017-09-04 19:34 GMT-05:00 Nathaniel Smith <njs at pobox.com>:
>> >>>
>> >>> On Mon, Sep 4, 2017 at 5:09 PM, xoviat <xoviat at 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 at pobox.com>:
>> >>> >>
>> >>> >> On Sun, Sep 3, 2017 at 11:14 AM, xoviat <xoviat at 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
>> >>
>> >>
>> >
More information about the Distutils-SIG
mailing list