[Distutils] PEP 517 again

Paul Moore p.f.moore at gmail.com
Tue Aug 29 14:13:57 EDT 2017


On 29 August 2017 at 17:22, Phil Austin <paustin at eoas.ubc.ca> wrote:
> On 2017-08-29 01:20, Paul Moore wrote:
>>
>> On 29 August 2017 at 01:13, Chris Barker <chris.barker at noaa.gov> wrote:
>>> If the build API is clean and supported enough, I can see conda using it.
>>>
>>> just sayin'
>>
>>
>> Thanks - that's really good to know. So *is* the build API clean
>> enough for you? Specifically:
>>
>> 1. build_sdist can be missing, or can report back (somehow) that it
>> failed to produce a sdist, and you should fall back to build_wheel.
>> 2. build_wheel must always succeed and must always exist.
>> 3. All hooks must be run in a separate subprocess
>>
>> There's also error handling, which I don't recall the details of, but
>> I think boils down to the backend code can write what it likes to
>> stdout/stderr and may raise an exception indicating "something blew
>> up".
>>
>> Those are basically the key points at the moment. Add to that, does
>> conda mind if build_wheel might result in a different wheel than
>> build_sdist->build_wheel would produce?
>
> conda-build doesn't produce or consume wheels.  It works by creating a clean
> conda environment and running a shell script to install the python package
> into that environment (including its own versions of /usr/lib /usr/etc
> /usr/bin  /urs/include /sbin -- which is why it can cope with non-python
> packages like g++, julia, R, git etc.).   All files produced by the install
> script are then put into a tar file, which is conda's version of a wheel.

OK, so I don't see how conda would use PEP 517 the way Chris
suggested. But never mind - if it doesn't help conda that's fine.
Paul


More information about the Distutils-SIG mailing list