← All tasks
pythonEzibenroc/PyRoaringBitMap #139Not a task: already works

Add Python 3.14 free-threaded (cp314t) wheel support

envgap__Ezibenroc__PyRoaringBitMap-139

01 / FAILURE SIGNATURE

As reported upstream

No identifying execution failure has been captured.
Not a benchmark task.
  • The project already builds and runs before the fix, so there is nothing to repair.

02 / ENVIRONMENT RECIPE

Base commit
cde0e964c9fa1f4b883e8733929380925bcee891
Manifest
setup.py
Reproduce
Awaiting issue-specific recipe
Run under trace
Awaiting a meaningful runtime command

03 / ORIGINAL ISSUE TEXT

Ezibenroc/PyRoaringBitMap #139 · read the original issue
## Summary

With the release of Python 3.14, the new free-threaded (no-GIL) mode is becoming more widely used. It would be great if pyroaring could provide prebuilt wheels and confirm compatibility with `python3.14t` (the free-threaded ABI).

## Current State

- PyPI shows wheels for cp313, cp312, cp311, but no cp314 or cp314t wheels
- Free-threaded Python uses the `cp314t` wheel tag (note the `t` suffix)

## What's Needed

1. Update CI (cibuildwheel) to build `cp314t` wheels
2. Declare GIL compatibility using `Py_mod_gil` slot in module definition (per PEP 703)
3. Test under free-threaded Python to ensure thread safety

## Resources

- [Python Free-Threading Guide](https://py-free-threading.github.io/)
- [Free-Threaded Wheels Tracker](https://hugovk.github.io/free-threaded-wheels/)
- [PEP 703 – Making the GIL Optional](https://peps.python.org/pep-0703/)
- [cibuildwheel free-threaded docs](https://cibuildwheel.pypa.io/en/stable/faq/#free-threaded-python)
Continue on GitHub ↗

04 / LABELS

Labels from the report text only; not yet run

No supported category has been assigned.

Label rules and the text that matched
[]