Replies: 3 comments 4 replies
-
We already get some freedom with ARCHS (auto32 and auto64 are handy), but in general, this selection is done by something in your build matrix - and that is much more complex to set when you have multiple variables, while the one variable is cleaner, and easier to check or use for naming inside the matrix. I would set Overrides are also tied to build selectors. Having a "prettier" way to select build selectors with multiple variables would just add a lot of confusion, and very few users would use them. One simple way is better than multiple complex ways. The only thing I'd be tempted to change here is to have a nicer way to set up the "parallel" builds - building multiple manylinuxs is pretty common and I do have an idea for this, but again it's completely tied to the build selectors. |
Beta Was this translation helpful? Give feedback.
-
Also, your method is a lot less powerful. There's no way to specify different Python versions for different Python interpreters, etc - while that's easy with build selectors. This is really important with PyPy, which doesn't support manylinux1 (or soon manylinux2010), and only comes in one (soon two) Python versions. |
Beta Was this translation helpful? Give feedback.
-
There's no accounting for taste, I suppose, but this doesn't seem to janky to me! :P Maybe I'm just used to it. As @henryiii mentioned, it might be easier to use Perhaps this would be improved by our idea of an interactive selector table, where values of build/skip/requires-python can be tested in the docs? |
Beta Was this translation helpful? Give feedback.
-
In the latest cibuildwheel version (when building on linux), manylinux and musllinux, as well as CPython 3.6-10 and PyPy 3.7 are built by default.
As a quick side note: I couldn't find much information about musllinux (especially since the repo linked in the docs doesn't exist or is private).
My library (PyGLM) is not compatible with PyPy, so I have to use the
CIBW_BUILD
variable to specify CPython versions only.In the latest version of cibuildwheel, musllinux is built by default, however, since I want to support all manylinux variants, I build manylinux2010 and manylinux_2_24 wheels (which are backwards-compatible to more manylinux variants) and thus musllinux is built twice.
To avoid this, I would have to specify to only build manylinux using the
CIBW_BUILD
variable (in addition to only building CPython), which is a very janky solution.(I haven't tested this)
I think there should be options to specify what to build more easily.
For example, whether to build CPython or PyPy or both, whether to build manylinux or musllinux or both (maybe even multiple variants of them) and which versions of CPython to build (e.g. 3.8 through 3.10).
Example:
Beta Was this translation helpful? Give feedback.
All reactions