[Wheel-builders] "Pure" python wheels with binary dependencies -- how to process?

Elana Hashman elana at hashman.ca
Thu Oct 18 23:24:42 EDT 2018


I'm trying to fix a regression introduced by a PR to auditwheel[1] that 
attempted to add support for repairing wheels that are not Python 
extensions but still contain binary dependencies (e.g. [2]). This seems 
like a reasonable thing to support so I'd like to avoid a hard revert of 
the PR if possible, but I'm not 100% sure how to proceed. I've fixed the 
first bug locally but that only seems to have revealed more.

Since such a wheel is not a Python extension, it is (perhaps 
incorrectly) identified as a purelib when built. I imagine that we 
should avoid putting binary things into purelib, so it sounds like I 
should repair such a wheel to set Root-Is-Purelib to false, which should 
cause it to install into platlib if I'm reading the spec[3] right?

As for platform compatibility flags for such a wheel, I will set it to 
py3-none-manylinux1 (or whatever Python it needs).

Does this sound reasonable? I'm hoping if wheels like this start to 
circulate it won't catch anyone by surprise.

Cheers,

- e


[1]: https://github.com/pypa/auditwheel/issues/107
[2]: 
https://github.com/pypa/auditwheel/pull/95/files#diff-01628eaed8ff1de796a126b6e752ea91
[3]: https://www.python.org/dev/peps/pep-0427/#file-contents


More information about the Wheel-builders mailing list