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

Switch to cibuildwheel for binary wheels? #55

Open
icemac opened this issue Jan 11, 2021 · 8 comments
Open

Switch to cibuildwheel for binary wheels? #55

icemac opened this issue Jan 11, 2021 · 8 comments
Labels
wontfix This will not be worked on

Comments

@icemac
Copy link
Member

icemac commented Jan 11, 2021

I came across this blog post https://fruch.github.io/2020/12/29/github-actions describing that they are using https://github.com/joerick/cibuildwheel to build binary wheels. Maybe this could ease our setup, too.

@dataflake
Copy link
Member

I just came across something else from Hanno that I had completely forgotten about: https://github.com/hannosch/zope_wheels

This uses a Docker container specifically made for building manylinux wheels (https://quay.io/repository/pypa/manylinux1_x86_64) to build wheels in bulk from the last tag on a list of repositories. It's Linux only, no Windows, though.

@dataflake
Copy link
Member

@icemac This can be closed with the GHA-based build stretegy, right?

@icemac
Copy link
Member Author

icemac commented Jul 1, 2021

No, we could still use cibuildwheel, especially as it has support for e. E. macOS Apple Silicon (I saw in a PR in a repository (I do not remember which one) that adding the wheels for this M1 chip was just adding a parameter to an env variable).
I think it could make building the binary wheels easier but I never tried it.

@icemac
Copy link
Member Author

icemac commented Jul 12, 2021

cibuildwheel already has support for Python 3.10. We are using https://github.com/matthew-brett/multibuild to install missing Python versions on AppVeyor. As it uses https://www.python.org/ftp/python to download the needed Python version, it has no chance as there is no Python 3.10 version uploaded there, yet.

@henryiii
Copy link

FYI, you have to use the 2.0 beta (should be made into a final release in about a week pypa/cibuildwheel#657) and you have to enable CIBW_PRERELEASE_PYTHONS, because the API is not declared stable yet (actually, 3.10b4, which just came out and is about to land in cibuildwheel, just waiting on manylinux), is I think supposed to be the first ABI stable release.

@icemac
Copy link
Member Author

icemac commented Dec 20, 2021

I have a prototype here: zopefoundation/ExtensionClass#39 – at least it looks simpler than the currently existing version and it includes Windows wheels in GHA.

@icemac
Copy link
Member Author

icemac commented Oct 2, 2024

Currently we have a robust enough way to create wheels. So closing this issue for now.

@icemac icemac added the wontfix This will not be worked on label Oct 2, 2024
@icemac icemac moved this to Done or Rejected in gocept sprint 2023 Oct 2, 2024
@henryiii
Copy link

henryiii commented Oct 2, 2024

FYI, since this discussion three years ago, cibuildwheel has joined the PyPA and become the standard way to build wheels for most projects, handling lots of special cases, like the correct min version of macOS for 3.12 and 3.13.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
wontfix This will not be worked on
Development

No branches or pull requests

3 participants