On Fri, Feb 15, 2019 at 6:15 PM Jeroen Demeyer J.Demeyer@ugent.be wrote:
On 2019-01-22 13:04, Robert T. McGibbon wrote:
It's necessary to bundle the external library with the wheel.
On linux, this is what the manylinux tag is all about (see PEP 513 & 571) and the auditwheel tool (https://github.com/pypa/auditwheel) will bundle the library into the wheel.
On OS X and Windows, I'm less familiar with the toolchain but the same principle applies.
Thanks for your reply. Unfortunately as you say, it only applies to Linux.
So how do projects in practice deal with this in a cross-platform way? Does every package need to reinvent the "wheel"?
Delocate  deals with the same problem on macOS - see my Multibuild frameworks  for some shared tooling between the two. It's fairly widely used (numpy, scipy, matplotlib, etc).
I think the same general approach would be possible with Windows - see Nathaniel Smith's library at  - but I don't think anyone has done the work to package that into a wheel-building tool. Most people are building Windows wheels with static linking, I believe.
Nathaniel Smith proposed a specification for packaging binary libraries as wheels , but I think he isn't working on that now, and it hasn't progressed. Nathaniel - is that right?
 https://github.com/matthew-brett/delocate  https://github.com/matthew-brett/multibuild  https://github.com/njsmith/machomachomangler  https://github.com/njsmith/wheel-builders/blob/pynativelib-proposal/pynative...