[Distutils] PEP 517 again

Paul Moore p.f.moore at gmail.com
Mon Aug 28 15:58:59 EDT 2017

On 28 August 2017 at 20:47, Donald Stufft <donald at stufft.io> wrote:
> I also believe it is fundamentally impossible for the backends to guarantee
> consistency if they have a separate list for what gets installed vs what
> gets put into a sdist without literally building a sdist (or something
> similar)— and as I understand it one of the issues with that is that the
> tools don’t want to mandate being able to do that same logic in all
> situations.

And yet that's precisely what xoviat is intending to do, based on what
the PEP says is needed. Are you saying he shouldn't? And the
setuptools should simply expose the same consistency problems we've
been dealing with until now? And the solution is for pip to switch to
sdist->wheel build as we've always planned in order to resolve this
issue? And any other future frontends will have to go through the same
cycle that pip did?

In which case, isn't the issue here that we've failed to argue
sufficiently persuasively that all backends must provide a
non-optional build_sdist hook, so we can do that cleanly?

> So I don’t think it works to say “You *must* ensure a consistent
> output, and I think the only thing we can do is say that you *SHOULD* try to
> be consistent, and leave it up to front ends to decide how seriously they
> take that as a requirement.

But how do frontends decide that? They have to base the decision on
experience with backends. And it looks like the current crop of
backends are split down the middle. Remember that if pip decides to go
sdist->wheel, then that strongly motivates xoviat to abandon his
current approach to ensure consistency, as it's duplicating the work
pip will do. At which point the setuptools backend can't be assumed to
be consistent, and the flit backend must be assumed to be (because we
can't guarantee it can make a sdist).


More information about the Distutils-SIG mailing list