On 3 June 2017 at 04:53, C Anthony Risinger <c...@anthonyrisinger.com> wrote: > I want to make sure I understand what I'd need to do, as a user, in a post > PEP 517 world. Say I wanted to accomplish the following three things: > > * Generate version info from my VCS > * Generate .h and .c from .pyx or cffi's out-of-line API mode > * Use an alternative build process for a platform distutils isn't behaving > with (ignore this requirement if it leads to problems answering, we can just > as well assume distutils here) > > Since I can only define one entrypoint for build-system.build-backend, I > can't point directly at setuptools_scm (or equiv) as it only achieves the > first, I can't point directly at cython or cffi (or equiv) as it only > achieves the second, and I can't point directly at my-custom-backend or > distutils as it only achieves the third... right? If I added setuptools_scm > and cffi to build-system.requires, will it have an opportunity to somehow do > something useful before my-custom-backend begins its work?
I agree, this isn't something that's been clearly set out yet. Obviously setuptools support isn't going away any time soon, so you can just carry on as you do now - but I understand that's not what you're asking. Let's assume there's a new PEP 517 backend, call it setuptools_tng, that handles building C files using the platform compiler. That's basically the replacement for setup.py. Then it would be down to that backend to provide a means of hooking into setuptools_scm and cython, much like at the moment you specify that you're using them in setup.py. Obviously, you might want to use setuptools_scm with other backends. In that case, maybe backend developers would need to come up with a unified plugin system. But it could just be a case of saying to the flit (or other backend) developers, "please add support for setuptools_scm". So, basically the answer is that this is an open question for the new backend development ecosystem. But it's not something PEP 517 needs to take a view on. Hope that helps, Paul _______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org https://mail.python.org/mailman/listinfo/distutils-sig