[Distutils] Update to my skeletal PEP for a new build system interface

Donald Stufft donald at stufft.io
Mon Nov 9 10:50:27 EST 2015


On November 9, 2015 at 10:35:24 AM, Paul Moore (p.f.moore at gmail.com) wrote:
> On 9 November 2015 at 05:20, Nathaniel Smith wrote:
> > A *source tree* is something like a VCS checkout. We need a standard
> > interface for installing from this format, to support usages like
> > ``pip install some-directory/``.
>  
> I still find these two definitions unhelpful, sorry.
>  
> We don't *need* an interface to install from a source tree. It's
> entirely feasible to have a standard interface to build a sdist from a
> source tree and go source tree -> sdist -> wheel -> install. That
> doesn't cater for editable installs, nor does it cater for reusing
> things like object files from previous builds, so there may be
> *benefits* to having a richer interface than this, but it's wrong to
> say it's needed.
>  
> I suspect you're reluctant to require a "source tree -> sdist"
> interface, because the author of flit isn't comfortable with having
> such a thing. That's OK - if you want to note that a benefit of going
> direct to install (or wheel) is that tools that don't allow you to
> create a sdist are supported, then let's make that explicit. Expect
> plenty of pushback on the idea of tools that don't supply sdists
> though…

Regardless of whether we end up mandating a source tree -> sdist -> wheel -> install path or if we support two paths, source tree -> sdist -> wheel -> install and source tree -> wheel -> install, I don’t think it’s likely we’re going to ever get to a place that sdists are an optional or non-standard artifact or interface. I think it is mandatory that we treat (and recognize) that a sdist is different than an arbitrary directory and that they may (or may not) have a structure that matches what it looks like on disk. It is entirely possible (and likely) that at some point in the future we will have a new sdist format that looks less like someone just zipped up their VCS checkout and more like a structured format.

-----------------
Donald Stufft
PGP: 0x6E3CBCE93372DCFA // 7C6B 7C5D 5E2B 6356 A926 F04F 6E3C BCE9 3372 DCFA




More information about the Distutils-SIG mailing list