ashvardanian / ashvardanian/StringZilla

Feature: Add support for free-threaded Python build (3.14t)

Open
#296 5 comments 3 reactions 0 assignees View on GitHub
enhancement
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.