On 10 June 2017 at 04:32, Nick Coghlan <ncogh...@gmail.com> wrote: > > While I'm open to being persuaded otherwise, my current thinking is > that these concerns could be suitably addressed by making the > following amendments: > > 1. Move all artifact naming responsibilities to the frontend. All > backend hooks would just write files in the defined format into the > directory supplied by the frontend (and those directories would have > no defined naming scheme - they're just a staging area for the backend > to pass content to the frontend) > > 2. Change the names of the artifact hooks to be "export_sdist_content" > and "export_wheel_content" to emphasise that backends are responsible > for generating the artifact *contents*, not the artifacts themselves > > 3. Change the optional metadata preparation hook to be > "prepare_wheel_metadata" for consistency with "prepare_build_files". > This gives us a consistent naming scheme where the "export_*" hooks > are required, but each has an optional "prepare_*" counterpart that > backends may implement as a more efficient alternative when the full > artifact contents aren't (or may not be) needed.
+1 In particular, I think that by making frontends responsible for packaging and naming wheels and sdists, we centralise responsibility for following those parts of the relevant standards, which is one less thing for (multiple) backends to track. My only reservation is that if anyone is looking to create a PEP 517 wrapper around legacy setuptools/distutils (at the moment, we haven't really touched on how we maintain support for setuptools-based projects, other than an assumed "keep all the code round until no-one uses setuptools any more") then that wrapper will need to build the artifacts as files (because that's what setuptools does), then unpack them only to have the frontend repack them. But that's a relatively minor price to pay. Paul _______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org https://mail.python.org/mailman/listinfo/distutils-sig