On 7 July 2018 at 19:56, Brett Cannon email@example.com wrote:
I do have a question about whether we specifically want the existence of build-system.requires or the existence of the entire build-system section to trigger the fallback behaviour? Is there a situation where any PEP-defined key in that section makes sense without 'requires'? IOW should having a build-system section imply the requirement of build-system.requires and leaving that key out is an error, while leaving the entire section out is now optional and is what triggers the fallback behaviour?
Isolation vs legacy behaviour is a pip implementation detail and/or PEP 517 related (isolation is only mentioned in PEP 517, not in PEP 518). So PEP 518 can remain silent on this point.
I personally vote to say that if you define build-system you should go all-in and those it's an error to be missing 'requires' in that case.
This *is* a PEP 518 issue, and I'm inclined to agree with you.
If Nathaniel is OK with that, I'd say that as PEP authors, you should just make that change. It's not going to make any difference to any of the real-world use cases we've seen so far, so clarifying now should be uncontroversial.