On 11 June 2017 at 02:59, Donald Stufft <don...@stufft.io> wrote: > We have a few possible cases where the build-the-wheel backend is going to > be called: > > 1) We’re creating a wheel ahead of time to publish somewhere. > 2) We’re creating a wheel JIT that we’re going to cache. > 3) We’re creating a wheel JIT that we’re not going to cache.
[snip] > Ultimately allowing the front end to do this gives us flexibility, the > backend doesn’t know why we’re building the wheel so it can’t make decisions > to try and optimize the workflow that it goes through, it can only do the > same thing every time. However if we allow the frontend to manage that, then > the frontend, which does know why we’re building things, can alter what it > does with those results depending on what it expects to be done with them. > > Keeping it in the backend doesn’t really buy us much of anything, except > that a handful of backend authors don’t have to make relatively minor > adjustments to their code base. In a vacuum I can’t see any compelling > reason to have the backend do the archiving at all and the only reason I > think we’re talking about it is that’s just how the backends work now— but > again, changing that is almost certainly going to be extremely trivial to > do. Thanks for spelling those out - that's the intuition that prompted me to make the suggestion, but without working through the specifics I wasn't confident enough in the idea to specifically request that Thomas make the update. Thomas - I agree with Donald's reasoning here, so would you mind updating the PEP accordingly? I think it's OK if that means that the initial PEP 517 support in the existing backends builds the archive and then unpacks it: - future PEP 517 backends still won't need to include support for their own wheel building - existing backends can do pack-and-unpack if that's easier for them, and defer refactoring until later - some backends may simply never be refactored, and that's between the backend developers and their users - for setuptools, `bdist_wheel` is actually provided by Daniel Holth's wheel project, and that could potentially gain a `bdist_wheel_unpacked` command Cheers, Nick. -- Nick Coghlan | ncogh...@gmail.com | Brisbane, Australia _______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org https://mail.python.org/mailman/listinfo/distutils-sig