Skip to content

Conversation

@justeph
Copy link

@justeph justeph commented Dec 29, 2025

Switch the CI workflow to use cibuildwheel, providing several key improvements:

  • Simplifies the workflow with a modern, maintainable approach.
  • Automatically handles manylinux/musllinux complexity.
  • Makes it easier to add support for additional architectures in the future.
  • Automatically adds support for Python 3.14 and 3.14t, resolving issues Free-threaded Python support #19 and Support Python 3.14 #21.

Introduce a minimal pyproject.toml. Dependencies are copied from requirements.txt into pyproject.toml for build purposes. The upper bound on Cython is removed to ensure compatibility with Python 3.14t.

We now also test the produced wheel.

Fixes: #19, #21, #23

Switch the CI workflow to use cibuildwheel, providing several key
improvements:

- Simplifies the workflow with a modern, maintainable approach.
- Automatically handles manylinux/musllinux complexity.
- Makes it easier to add support for additional architectures in the
  future.
- Automatically adds support for Python 3.14 and 3.14t, resolving issues
  scoder#19 and scoder#21.

Introduce a minimal pyproject.toml. Dependencies are copied from
requirements.txt into pyproject.toml for build purposes. The upper
bound on Cython is removed to ensure compatibility with Python 3.14t.

We now also test the produced wheel.

Fixes: scoder#19, scoder#21, scoder#23

Signed-off-by: Julien Stephan <jstephan@baylibre.com>
@justeph
Copy link
Author

justeph commented Dec 29, 2025

A few notes about that PR:

  • I didn't find an easy way to reproduce the fprofile stuff.. Apparently we can't just replace the build command with a script with cibuildwheel. Is this mandatory for you?
  • I added a minimal pyproject file
  • wheels are now tested ;)
  • I completely dropped the Makefile invocation in the workflow, I guess we can remove it completely? Depends on first point above I guess
  • automatically added support for 3.14 and 3.14t

Let me know if you need any rework for this

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.

Free-threaded Python support

1 participant