I'm not worried about it. If you can generate sdist the file format is simple, if you cannot then the build tool asks you for a wheel. Build tools can have dependencies too and could depend on a nifty sdist generating library. It seems to me that the whole spec lets you start by figuring out how to build wheels, and then proceed to implement the rest in order for your project to be lauded by PyPA. Thus build systems of differing complexity and distribution are accommodated.

On Fri, Jul 28, 2017 at 3:53 PM Thomas Kluyver <thomas@kluyver.me.uk> wrote:
On Fri, Jul 28, 2017, at 04:16 PM, Daniel Holth wrote:
It looks like we've run out of things to say about PEP 517, except, how soon can we get it into pip?

I admire your optimism! ;-)

While I partly hope that I get a unanimous disagreement, as it would be simpler, I have a nagging concern about something that someone mentioned ages ago: does it make sense for building sdists and building wheels to be part of the same backend?

Flit now makes both sdists and wheels, but for a long time it only made wheels, and the two parts are largely separate: it wouldn't take much work to use flit's sdist machinery but build the wheel with a different tool (e.g. if it had compiled parts).

Requiring one backend to build both formats may result in a significantly higher barrier to entry for backend developers: I don't know if I would have started writing flit if PEP 517 had already been finalised and I had to make both wheels and sdists to comply with it. They're also, at least to my mind, quite different kinds of thing: an sdist is almost like an archive of a VCS tag, whereas a wheel is the end result of any build steps the project needs.

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.

Thomas

_______________________________________________
Distutils-SIG maillist  -  Distutils-SIG@python.org
https://mail.python.org/mailman/listinfo/distutils-sig