ashvardanian / ashvardanian/StringZilla
Feature: Add support for free-threaded Python build (3.14t)
- Dominant language
- C
- Stars
- 3.6k
- Forks
- 135
- PR merge metrics
- No merged PRs in 30d
Description
### Describe what you are looking for
This issue is intended to track the efforts of adding support for the free-threaded build of CPython (e.g. 3.14t). The [Python free-threading guide](https://py-free-threading.github.io/porting-extensions/) contains some helpful advice on approaching this task.
Looking at the code in `python/stringzilla.c`, it looks like there is not much work to do. The only global state I see is the `temporary_memory` variable. I'll create a PR to fix that.
### Can you contribute to the implementation?
- [x] I can contribute
### Is your feature request specific to a certain interface?
Python bindings
### Contact Details
_No response_
### Is there an existing issue for this?
- [x] I have searched the existing issues
### Code of Conduct
- [x] I agree to follow this project's Code of Conduct
Contributor guide
Research direction
Start with python/stringzilla.c and inspect the temporary_memory global state, using the Python free-threading guide linked in the issue for the relevant porting requirements. Done means the Python bindings support the free-threaded CPython build, including 3.14t, without unsafe shared global state.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, python
- Domain
- api
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100