Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build wheels in CI and publish them #164

Open
bnavigator opened this issue Dec 30, 2021 · 5 comments
Open

Build wheels in CI and publish them #164

bnavigator opened this issue Dec 30, 2021 · 5 comments

Comments

@bnavigator
Copy link
Collaborator

We don't publish wheels because we don't know how to build them.

I've tried and failed to build wheels for Windows before; if I recall correctly one basically has to bundle a BLAS&LAPACK library in the wheel, and I couldn't figure out how to do it.

Originally posted by @roryyorke in #155 (comment)

@bnavigator
Copy link
Collaborator Author

Scikit-build recently has teamed up with cibuildwheel. Maybe this is a viable approach to get wheels which work in a standard pip install.

@bnavigator
Copy link
Collaborator Author

cibuildwheel still has no auditwheel equivalent for Windows.

@sdahdah
Copy link

sdahdah commented Jan 12, 2023

I don't know if this is helpful info for you, but cibuildwheel now seems to recommend delvewheel as a Windows equivalent for auditwheel. They show an example of how to use it in their documentation here.

@roryyorke
Copy link
Collaborator

For an overview of the problems involved, there's this, published late 2022: https://pypackaging-native.github.io/ . See especially https://pypackaging-native.github.io/key-issues/native-dependencies/blas_openmp/

That references this https://web.archive.org/web/20210616203153/https://pav.iki.fi/blog/2017-10-08/pywingfortran.html (archive link, original down). It looks like this needs numpy.distutils, but I don't think scikit-build uses that (maybe it does?). Maybe scikit-build also has the statically-link-gfortran-runtime magic

I had another go at this over the Christmas break and go nowhere, though my effort was admittedly half-hearted.

@bnavigator
Copy link
Collaborator Author

bnavigator commented Jan 21, 2023

Nice find!

numpy.distutils is deprecated and will be removed in a future version. scikit-build is in the middle of a major overhaul.

SciPy moved to Meson recently. Maybe an option for us is to switch from scikit-build/CMake to meson-python as well and build wheels with cibuildwheel as SciPy does.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants