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

Đang mở
#1,903 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
35/100
Loại issue
Tính năng
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Ít trao đổi
Công nghệ
python
Lĩnh vực
build-system, release

Hướng nghiên cứu

Bắt đầu với các workflow ENVS và wheels, sau đó kiểm tra các tiện ích mở rộng CFFI của NVX là _utf8validator và _xormasker về tính an toàn với free-threading và các khai báo mô-đun. Cập nhật các target trong release.yml và docs/releases.rst sau khi xác nhận rằng sys._is_gil_enabled() vẫn là False khi import. Được xem là hoàn tất khi các wheel cp314t được build và publish cho cả bốn nền tảng, với mức độ hỗ trợ được ghi lại.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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
Ngôn ngữ chính
Python
Star
2.5k
Fork
766
Merge trung bình
4 giờ 24 phút
Pull request đã merge (30 ngày)
20

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của crossbario/autobahn-python

Tất cả issue của crossbario/autobahn-python

Issue tương tự

Thêm issue về Python

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.