[Distutils] status check on PEP 517

Paul Moore p.f.moore at gmail.com
Fri Jul 28 16:56:20 EDT 2017


On 28 July 2017 at 20:53, Thomas Kluyver <thomas at kluyver.me.uk> wrote:
> So I'd like us to circle back round and reconsider allowing projects to
> specify 'use tool X to make wheels, and tool Y to make sdists'. If everyone
> else thinks that's unnecessary, I think we'd all be glad to finish this
> discussion up, but this concern has been growing in my mind for a while, and
> I want to get it out there before we finalise the PEP.

I think being able to have wheel-only or sdist-only backends is unnecessary.

My logic is that I think that it should always be possible to create
both wheels and sdists from a project - I have a strong objection to
the idea of projects publishing only wheels on PyPI (it's too easy for
a project website to disappear, leaving binaries on PyPI with no
available source).

I don't think it's a good idea to make projects specify how they make
wheels and sdists separately - that just adds an additional design
burden on the project, as it has to choose two build backends rather
than one, and complicates the PEP as we'd have to specify how we'd
handle the error if we encountered a project that failed to specify
both (I'd be a very strong -1 on the PEP allowing projects to only
specify one of the wheel builder or the sdist builder, for the reason
I stated above).

If a backend developer wants to omit sdist building support, then they
can work with another backend developer who does support sdists, and
write a wrapper that provides the PEP 517 interface and directs the
hooks to the appropriate backend. That seems like an overcomplicated
scenario to me, but it's an option if a backend developer feels that
strongly.

Paul


More information about the Distutils-SIG mailing list