Add cp314t (free-threaded Python 3.14) wheel support
- Dominant language
- Python
- Stars
- 33.9k
- Forks
- 4.7k
- Avg merge
- 3m
- Merged PRs (30d)
- 1
Description
## Summary
Request to add pre-built wheels for free-threaded Python 3.14 (`cp314t`) to PyPI releases.
## Context
- Discussion tracking community interest: #13995
- cp314 regular wheels are already built but missing from PyPI: #13949
- Other key ecosystem packages (`numpy`, `pydantic-core`, `uvloop`, `greenlet`) have already shipped cp314t wheels, making spaCy one of the last blockers for teams wanting to run on free-threaded Python 3.14
## What's needed
1. Mark spaCy's C extensions as free-threaded safe (or audit for GIL assumptions)
2. Add `cp314t` to the CI wheel-building matrix
3. Upload cp314t wheels to PyPI alongside regular cp314 wheels in future releases
## Why this matters
Teams using spaCy in ML/NLP pipelines cannot migrate to `python:3.14t` (free-threaded CPython) until spaCy ships cp314t wheels. Since the rest of the major deps have already committed to cp314t, spaCy is the blocking dependency.
Contributor guide
Research direction
Start by locating the CI wheel-building matrix and the configuration for spaCy's C extensions. Audit the extensions for free-threaded Python assumptions, then add cp314t coverage and verify that the resulting wheels are built and included in future PyPI releases.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- build-system, release
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100