On 24 June 2018 at 16:19, Nathaniel Smith <n...@pobox.com> wrote: > Hi all, > > I had a thought for something that might be a simple way to improve > dev experience with custom build backends. > > A PEP 517 build backend is a Python object that has some special > methods on it. And the way a project picks which object to use, is via > pyproject.toml: > > [build-system] > build-backend = "module1.module2:object" > > Currently, this means that the build backend is the Python object: > > module1.module2.object > > Here's my idea: what if change it, so that the above config is > interpreted as meaning that the build backend is the Python object: > > module1.module2.object.__build_backend__ > > (I.e., we tack a "__build_backend__" on the end before looking it up.)
Allowing `__build_backend__` as an override attribute seems fine to me, but I think it would be a problem if direct references like `build-backend = "flit.buildapi"` didn't work. That is, the override check would be: backend = getattr(backend_ref, "__build_backend__", backend_ref) Cheers, Nick. -- Nick Coghlan | ncogh...@gmail.com | Brisbane, Australia -- 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/XE7M4ZAAV3HPJ2KP3REGQPREDSSIH7HC/