Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

[FEATURE] Publish free-threaded (no-GIL) CPython 3.14 wheels (cp314t)

Aperta
#1,903 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
35/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla
Stack tecnologico
python

Direzione di ricerca

Inizia con i workflow ENVS e wheels, quindi esamina le estensioni CFFI NVX _utf8validator e _xormasker per verificarne la sicurezza con il free-threading e le dichiarazioni del modulo. Aggiorna i target di release.yml e docs/releases.rst dopo aver confermato che sys._is_gil_enabled() rimane False all’importazione. Il lavoro è completo quando i wheels cp314t sono stati compilati e pubblicati per tutte e quattro le piattaforme, con il livello di supporto documentato.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

CI-CD enhancement

Follow-up to #1875 (Part 2). #1875 fixed the GIL cp314 wheel (the aarch64 slot was
accidentally shipping cp314t), added a reserved cpy314t env spec (cpython-3.14t), a
create-recipe PATH fix, and a build-time ABI guard (_check-venv-abi). This issue
tracks intentionally building and publishing free-threaded cp314t wheels as a
deliberate, supported variant.

Scope

Publish cp314-cp314t wheels alongside the GIL cp314 wheels on all platforms
(Linux x86_64 / aarch64 manylinux, macOS arm64, Windows amd64).

Prerequisite: free-threading safety (do NOT skip)

Building a cp314t wheel merely declares free-threading support; it does not make the
extension safe. Before publishing cp314t as supported:

  • Assess the NVX CFFI extensions (_utf8validator, _xormasker) for free-threading
    (no-GIL) safety — shared/global state, any implicit GIL assumptions, re-entrancy.
  • Add the free-threaded module declaration so the interpreter does not silently re-enable
    the GIL on import (CPython's Py_mod_gil / the CFFI equivalent). Confirm
    sys._is_gil_enabled() stays False after import autobahn.nvx….
  • Decide and document the support level (experimental vs supported).
Tasks
  • Add cpy314t to the build matrix (ENVS / the wheels workflows). The _get-spec
    mapping cpy314t -> cpython-3.14t is already in place from #1875, and _check-venv-abi
    already validates the ABI (expects free-threaded for *t envs).
  • Build cp314t on all four platforms; publish alongside cp314.
  • Add cpy314t-<platform>-<arch> targets to the check-release-fileset targets in
    release.yml (the shared action supports the 314t token via wamp-cicd #11).
  • Update docs/releases.rst wheel matrix and note the free-threading support level.
Related
  • #1875 (GIL fix + reserved cpy314t spec + _check-venv-abi guard + PATH fix).
  • wamp-cicd #11 (exact ABI-tag matching, so cp314 and cp314t slots are distinct).
  • zlmdb # (the mirror for zlmdb; LMDB/CFFI free-threading assessment).

Note: This work was drafted with AI assistance (Claude Code). Initiated and reviewed by me.

Checklist

  • I have searched existing issues to avoid duplicates
  • I have described the problem clearly
  • I have provided use cases
  • I have considered alternatives
  • I have assessed impact and breaking changes
Lingua principale
Python
Stelle
2.5k
Fork
770
Merge medio
2g 6h
PR unite (30g)
10

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di crossbario/autobahn-python

Tutte le issue di crossbario/autobahn-python

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.