-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Python binding setup refactoring + cibuildwheel workflow #2026
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
Python binding setup refactoring + cibuildwheel workflow #2026
Conversation
70c1620
to
72da31a
Compare
ae2bfc2
to
eade532
Compare
618841b
to
c1a764c
Compare
- Moved project package settings to the new TOML format - Refactored setup.py to cleanup/improve the code and make it ready for cibuildwheel - Updated README.md with the package long description part - Removed setup.cfg since universal wheel building will be deprecated soon
- Replaced old PyPI-publishing.yml workflow with brand-new one based on cibuildwheel - Removed old building scripts
… x86_64 runner as per cibuildwheel warning message
- Replaced macos-14 runner with macos-latest - Bumped cibuildwheel GitHub action to 2.21.3 version
- Adapt test_uc_ctl_tb_cache test to the recent changes - Fixed typos - PEP8 fixes
…type according to the presence of tag release
c1a764c
to
a2a2d76
Compare
Finally, we have some modern infrastructure for building wheels. I hope this fixes various wheels-related issues. |
…ine#2026) * Python bindings: Make the test scripts handy for pytest * Python bindings: Update MANIFEST.in with new paths * Update .gitignore to exclude PyCharm-related files/folders * Python bindings: Update CMakeLists.txt in order to set CMAKE_OSX_ARCHITECTURES var * Python bindings: - Moved project package settings to the new TOML format - Refactored setup.py to cleanup/improve the code and make it ready for cibuildwheel - Updated README.md with the package long description part - Removed setup.cfg since universal wheel building will be deprecated soon * Python bindings: - Replaced old PyPI-publishing.yml workflow with brand-new one based on cibuildwheel - Removed old building scripts * Replaced macos-12 runner with macos-13 since it will be removed soon * Python bindings: Specify SYSTEM_VERSION_COMPAT=0 env var for macos-13 x86_64 runner as per cibuildwheel warning message * Python bindings: Enable i686 for debugging * Python bindings: Enable DEBUG flag according to the presence of tag release * Python bindings: Added matrix to cover i686 manylinux/musllinux builds * Python bindings: - Replaced macos-14 runner with macos-latest - Bumped cibuildwheel GitHub action to 2.21.3 version * Python bindings: - Adapt test_uc_ctl_tb_cache test to the recent changes - Fixed typos - PEP8 fixes * GitHub Action Workflow: Introduce BUILD_TYPE env var to select build type according to the presence of tag release --------- Co-authored-by: mio <mio@lazym.io>
I am curious about the advantages of cibuildwheel compared to the previous packaging methods. Previously, on Linux, a single package could be universally compatible with multiple Python versions, and the API interface of Unicorn was not complicated. Why is it necessary to create a separate package for each Python version? |
That's how python wheels are intended to work (actually the whole ecosystem of python wheel is a mess...). And most importantly, cibuildwheel saves me from wasting hours on fixing CI. Regarding Python API changes, it is related to #1629 |
Uh oh!
There was an error while loading. Please reload this page.