Took a peek at the warehouse source code to try to understand its sdist requirements, it appears to be less strict than I thought. Probably missed something but it looks like warehouse currently requires a .zip sdist to contain PKG-INFO one level deep but doesn't care about the contents of .tar.gz files. pip of course still expects to be able to execute setup.py egg_info but it doesn't look like it cares about PKG-INFO or anything else.
On Tue, Jun 13, 2017 at 5:45 AM Thomas Kluyver <tho...@kluyver.me.uk> wrote: > On Tue, Jun 13, 2017, at 02:27 AM, Nick Coghlan wrote: > > Despite being the one to originally propose standardisation on passing > > directory paths around, I'm starting to lean back towards this > > approach. > > > > My rationale for this doesn't really have a lot to do with topics > > we've discussed so far, and instead asks the question: what would work > > best for an installation frontend that wanted to keep the actual build > > tools off the system doing the installation, while still allowing for > > transparent "from sdist" installations? > > I think that we're discovering a variety of reasons why an unpacked > distribution may not be clearly preferable to an archive. In the absence > of a clear benefit, I think it's advantageous to say that the archive is > the canonical interchange format which different tools produce and > consume. This is more compelling for wheels than for sdists, since the > wheel format is more precisely specified, but it seems more internally > consistent to say that they both build archives. > > I've updated the PR to specify zip archives for build_wheel and .tar.gz > archives for build_sdist. > > >> 2) Specify that the wheel generation hook, metadata hook, and sdist > >> hook return the name of path that they created as a unicode string. > >> Rationale: fixes a point of ambiguity in the current spec. > > > > And still leaves the door open to supporting multiple wheels in the > > future by returning a list instead of string. > > This makes sense to me, and I've added that to the PR. > > I have currently specified that they should return only the basename of > the file/directory they create, not the full path. I don't think there's > any particular reason to prefer one or the other, but it needs to be > specified. Does anyone think there's a concrete reason they should be > full paths? > > Finally, I noticed while updating the PEP that there's a section showing > how simple a PEP 517 backend can be, with a tiny working example. > Following our discussions, that example is incomplete (it's missing at > least the sdist hook). Do we want to: > > 1. Make the example complete again, which would make it much less > simple. > 2. Remove the whole section about how easy it is to implement a backend > (it's not a very convincing example anyway, because it requires the user > to manually do most of the work in preparing a wheel). > (3. Try to actually make it simple to implement a backend ;-) > > Thomas > _______________________________________________ > Distutils-SIG maillist - Distutils-SIG@python.org > https://mail.python.org/mailman/listinfo/distutils-sig >
_______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org https://mail.python.org/mailman/listinfo/distutils-sig