On 19 July 2018 at 07:44, Pradyun Gedam <pradyu...@gmail.com> wrote:
>
>
> On Tue, 17 Jul 2018, 20:44 Donald Stufft, <don...@stufft.io> wrote:
>>
>>
>> On Jul 17, 2018, at 5:27 AM, Paul Moore <p.f.mo...@gmail.com> wrote:
>>
>> There's also a PR cost, in that projects who have enthusiastically
>> adopted pyproject,toml as being a nice "common configuration"
>> location, will be left feeling that maybe that wasn't such a good
>> decision if it's causing them problems like this. Plus, projects like
>> towncrier will need to update their docs (yes, that's a bit ideal
>> world - the reality is that people simply keep doing what they do now,
>> and we get the message out via a gradual process of addressing bug
>> reports and providing the explanation there).
>>
>>
>> I think that this is the most important reason not to go too crazy here.
>> We
>> should think of breaking changes as having a limited budget for
>> introducing
>> breaking changes, and the question then becomes where do we want to spend
>> our
>> budget? While something being relatively new means that the cost to our
>> budget
>> is smaller, it still has a cost and I just don’t think this is a great
>> place to
>> spend our budget at.
>>
>> On top of that, I don’t think the end result is significantly or
>> meaningfully
>> better for the end users, particularly if we ever get to a world where we
>> isolate everything by default (which would mean that we would have to have
>> an
>> implicit requires of setuptools/wheel anyways).
>
>
> Fair enough. I just wanted to
> make the build-system table to be more visible to end
> users, since I feel the cost here is justified by the benefit
> s
> . If others don't agree,
> that's cool. I don't feel super strongly about this tbh
> . I am not opposed to keeping
> the status quo on this matter and am on board with Paul's suggestion of
> making the
> build-system table optional. :)

OK, thanks for confirming that. I think everyone who made comments on
my proposal was ultimately saying something along the lines of "but
I'm not sufficiently bothered to make a fight over it". So in the
interests of bringing this discussion to a conclusion and moving on,
I'm going to say that we go with what I proposed:

1. It should be legal for pyproject.toml to *not* contain a
[build-system] section.
2. If a [build-system] section is present, the requires key must be present.

Tools should behave as follows:

1. If [build-system] is present but requires is missing, they should
raise an error.
2. If [build-system] is missing, they should take one of the following
two approaches:
   a) Act as if pyproject.toml is missing altogether
   b) Act as if [build-system] is present, with a requires value of
["setuptools", "wheel"]

Whether there is any practical difference between cases 2a and 2b is
tool-dependent.

(It's not ideal that we don't make a recommendation between 2a and 2b,
but getting into the details of pip's isolation strategy hasn't really
helped make the choice more obvious, and I doubt that any new tools
without pip's backward compatibility requirements would behave
differently in the two cases anyway).

Brett - you offered to update the PEP, so I'll leave that step to you.

Thanks to everyone for the helpful discussions and willingness to
compromise on the final outcome :-)
Paul
--
Distutils-SIG mailing list -- distutils-sig@python.org
To unsubscribe send an email to distutils-sig-le...@python.org
https://mail.python.org/mm3/mailman3/lists/distutils-sig.python.org/
Message archived at 
https://mail.python.org/mm3/archives/list/distutils-sig@python.org/message/XLQILTH4E3JF52EZWJYVO63CLQEE5PVZ/

Reply via email to