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)
04 / LABELS
Labels from the report text only; not yet run
No supported category has been assigned.
Label rules and the text that matched
[]