[Distutils] A possible refactor/streamlining of PEP 517

Nick Coghlan ncoghlan at gmail.com
Mon Jul 10 10:53:02 EDT 2017


On 11 July 2017 at 00:20, Paul Moore <p.f.moore at gmail.com> wrote:
> On 10 July 2017 at 14:58, Nick Coghlan <ncoghlan at gmail.com> wrote:
>> That isn't the question though - the question is whether we want to
>> actively support folks moving "compilation" like activities
>> (minification, pyx->C conversion, etc) to the sdist generation stage
>> by adding the optional "build_directory" option to "build_sdist" as
>> well.
>>
>> And that's the part where we decided the answer is "No", we only want
>> to support the following configurations:
>
> I'm not sure I follow this comment (or if I do, I don't agree with it
> :-)). I would expect projects that use Cython to have the step to
> build the C files from the Cython sources as part of the "build sdist"
> step, so that the sdist contains standard C sources, and end users can
> build from sdist with a C compiler installed, but without needing to
> install Cython. That's the standard approach these days, and I'd hope
> it will be supported under PEP 517.

It's supported - what's not being explicitly supported is generating
such Cython files in a directory *other than* either the original
source directory, or the target directory where the final sdist will
also be created. (However, I'd also hope to see that practice start
declining in popularity as PEP 517 makes it straightforward to ensure
that cython is installed automatically when needed to build from
source)

Wheel builds are different, since they're expected to generate
intermediate artifacts (e.g. object files, debugging symbols, Cython
output files not included in the sdist), that *aren't* going to be
included in the final wheel file, but may still be useful to keep
around to speed up subsequent builds.

Cheers,
Nick.

-- 
Nick Coghlan   |   ncoghlan at gmail.com   |   Brisbane, Australia


More information about the Distutils-SIG mailing list