PEP 517 Backend bootstrapping

This whole thing is a totally random digression. I was hoping we could come to a general agreement about narrowly scoping and then discuss the implementation details, but I am now firmly in the camp of the original option 2 - zero options for the bootstrapper. pyproject.toml looks like this (requirements is not required to be empty):

[build-backend]
requires=[]
build-backend="<bootstrap>"

At which point the front-end will select __build_backend__.py (located in the source root) as the build backend. It MAY add the source root to sys.path but is not required to do so.

I see no reason to complicate things any more than this. It’s incredibly simple to implement this and to explain how it works.