Add support for the free-threaded build
- Dominant language
- Python
- Stars
- 211
- Forks
- 58
- Avg merge
- 1d 17h
- Merged PRs (30d)
- 6
Description
blosc2 ships free-threaded wheels, but they re-enable the GIL on import:
```
goldbaum at Nathans-MBP in ~
○ python
Python 3.14.2 free-threading build (main, Dec 8 2025, 15:41:12) [Clang 17.0.0 (clang-1700.4.4.1)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
i>>> import blosc2
:491: RuntimeWarning: The global interpreter lock (GIL) has been enabled to load module 'blosc2.blosc2_ext', which has not declared that it can run safely without the GIL. To override this behavior and keep the GIL disabled (at your own risk), run with PYTHON_GIL=0 or -Xgil=0.
```
See https://py-free-threading.github.io for more information about the free-threaded build and how to support it.
Contributor guide
Research direction
Start by reproducing the import warning with the Python 3.14.2 free-threading build and inspect how blosc2.blosc2_ext is built and loaded. Read the guidance at py-free-threading.github.io; done means importing blosc2 without re-enabling the GIL on a free-threaded build.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100