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

Update cibuildwheel to build wheels for Python 3.13 #23

Open
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

Salamist
Copy link

Hello,
Updating cibuildwheel to version 2.21 enables building wheels for Python 3.13
As a side-effect, this PR fixes #16 and pyocd/pyOCD#1726

As for testing, I've used the .find method to find JLink and CMSIS-DAP debuggers. (USB Devices with VID 0x1366 and 0x1FC9 respectively)
Operating systems: Win11, Ubuntu 22, and MacOS 14
Python versions: 3.8 - 3.13 (3.13 still with GIL enabled)

Wheels can be downloaded here: https://github.com/Salamist/libusb-package/actions/runs/11359288419

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Attempt to use cibuildwheel v2.21.3 which has support for Python 3.12 and 3.13

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
@tieu-sys
Copy link

Hello,
Where can I download this wheel for python 3.13 ?
In the link (https://github.com/Salamist/libusb-package/actions/runs/11359288419) artefacts are expired.
Thank you !

o-murphy and others added 2 commits March 21, 2025 10:40

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
updated ci actions
@Salamist
Copy link
Author

Hi @tieu-sys, the PR (Salamist#1) was merged and new artifacts (wheels) were created: https://github.com/Salamist/libusb-package/actions/runs/13990671332

@tieu-sys
Copy link

Thank you so much, it was quick !

@o-murphy
Copy link

Hi @tieu-sys, the PR (Salamist#1) was merged and new artifacts (wheels) were created: https://github.com/Salamist/libusb-package/actions/runs/13990671332

Btw if the maintainers won't merge PR, probably we can make Scheduled workflow that will build and deploy wheels automatically (maybe with other package name to avoid pypi limitations, but with same content as an origin)
Current CI makes a lot of overhead. I'm already start to work on it (i try to use pyocd's origin repo), but it takes long time to debug gh workflow. Other way is making full fork of a repo and change a build pipeline to have more flexibility. Also we can use precompiled binaries from libusb repo releases instead of compile it on CI, and i think we should not compile them each time cause it still the same for different python versions, diff just by platform. So we can use pipeline like:
if new libusb release -> precompile libusb binaries -> build wheels using precompiled binaries -> create libusb-package release -> deploy to pypi

@tieu-sys
Copy link

Completely agree with your comment.
In my side, I tried the wheel on python 3.12.7 and MacOS Arm64 and no regression were found (most of the time I use libusb_package.find(find_all=True)).
Thanks !

@o-murphy
Copy link

Completely agree with your comment.

In my side, I tried the wheel on python 3.12.7 and MacOS Arm64 and no regression were found (most of the time I use libusb_package.find(find_all=True)).

Thanks !

I published wheels to the mirror on pypi with 3.12 and 3.13 support https://pypi.org/project/libusb-pkg

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

Successfully merging this pull request may close these issues.

3.12 wheels
4 participants