It's certainly easier to build a zipfile correctly than to build a
directory tree. Might even be faster if your filesystem is slow. Surely if
there are multiple *.dist-info it is an error?

On Mon, Jun 12, 2017 at 4:15 PM Donald Stufft <don...@stufft.io> wrote:

> On Jun 12, 2017, at 4:01 PM, Thomas Kluyver <tho...@kluyver.me.uk> wrote:
>
> On Sat, Jun 10, 2017, at 06:14 PM, Nick Coghlan wrote:
>
> Thomas - I agree with Donald's reasoning here, so would you mind
> updating the PEP accordingly?
>
>
> I've done so here:
> https://github.com/python/peps/pull/290
>
> There are still a couple of questions on which I wasn't quite sure what
> the consensus is:
>
> -    Do we want to rename the build_wheel hook now that it makes an
> unpacked wheel, e.g. export_wheel_contents to match
> export_sdist_contents?
>
>
>
> I’m neutral on this, this is just a total bike shed I think so I’m happy
> to go with whatever you prefer.
>
>
> -    I have assumed that the wheel hook puts its contents in the
> directory it's passed, rather than creating a subfolder. This is in
> keeping with the structure of wheels, which do not have a single
> top-level directory (unlike sdists), but it wouldn't fit with a future
> hypothetical extension to build multiple wheels at once; we would need a
> separate hook for that.
>
>
> I don’t think having a separate hook is a bad thing here since we don’t
> really know specifically what that would look like. However I also don’t
> think doing something like what we’ve done with prepare_wheel_metadata is
> out of the question either?
>
> One thing I notice is that prepare_wheel_metadata still doesn’t provide a
> way for the backend to communicate to the frontend what .dist-info folder
> it should be looking for but it’s currently possible for (mistakeningly or
> not) to end up with one or more .dist-info files in that directory, so you
> can’t just glob looking for any dist-info.
>
> Perhaps the answer for both of these hooks is to just put the contents
> into the passed in directory (so remove the {name}-{version}.dist-info
> directory from prepare_wheel_metadata, and leave the
> build_wheel/export_wheel_contents, just putting things in the root of the
> directory and only build this API to handle a single wheel at a time.
> If/when we add support for multiple wheels at a time, we can then add a new
> hook to handle that which we can make sure actually supports everything we
> need at that point, rather than trying to guess what that might look like
> today?
>
>
> —
>
> Donald Stufft
> _______________________________________________
> 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

Reply via email to