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

Reply via email to