[Distutils] A possible refactor/streamlining of PEP 517

Ralf Gommers ralf.gommers at gmail.com
Mon Jul 10 04:56:10 EDT 2017


On Mon, Jul 10, 2017 at 7:13 PM, Thomas Kluyver <thomas at kluyver.me.uk>
wrote:

> On Mon, Jul 10, 2017, at 07:01 AM, Nick Coghlan wrote:
> > So I think we have pretty solid evidence that the reason the
> > procedural "build directory preparation" hook wasn't sitting well with
> > people was because that isn't the way build systems typically model
> > the concept, while a "build directory" setting is very common (even if
> > that "setting" is "the current working directory when configuring or
> > running the build").
>
> Hooray! :-)
>
> Do we want to also provide a build_directory for the build_sdist hook?
> In principle, I don't think making an sdist should involve a build step,
> but I know that some projects do perform steps like cython code gen or
> JS minification before making the sdist. I think this was a workaround
> to ease installation before wheel support was widespread, and I'd be
> inclined to discourage it now, so my preference would be no
> build_directory parameter for build_sdist. Backends which insist on
> generating intermediates at that point can make a temp dir themselves.
>

No preference on yes/no for build_directory for build_sdist hook, but
invoking Cython on .pyx files to generate C code rather than checking in
generated C code is good practice. I don't think we want to go back to
checking in generated code, nor do we want to store generated code in
tmpdirs (because that loses the advantage of not having to regenerate when
.pyx hashes are identical).

Ralf


> Then I guess that the choice between building a wheel directly and
> attempting to build an sdist first (with direct fallback) is one for
> frontends, and doesn't need to be specified.
>
> Thomas
> _______________________________________________
> Distutils-SIG maillist  -  Distutils-SIG at python.org
> https://mail.python.org/mailman/listinfo/distutils-sig
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/distutils-sig/attachments/20170710/d5d3751a/attachment.html>


More information about the Distutils-SIG mailing list