Skip to content

Update HOWTO to reflect change in CIBW option #134595

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
3willows opened this issue May 23, 2025 · 1 comment
Closed

Update HOWTO to reflect change in CIBW option #134595

3willows opened this issue May 23, 2025 · 1 comment
Labels
docs Documentation in the Doc dir topic-free-threading

Comments

@3willows
Copy link
Contributor

3willows commented May 23, 2025

Documentation

Python documentation in ‎Doc/howto/free-threading-extensions.rst states at lines 397-399

pypa/cibuildwheel supports the free-threaded build if you set CIBW_FREE_THREADED_SUPPORT.

I noticed when running Spinx that the anchor link to "CIBW_FREE_THREADED_SUPPORT" is broken, and realised the reason is that the preferred way of supporting free-threaded build has changed in cibuildwheel since June 2024 when this text was written.

The current documentation explains

CIBW_ENABLE {: #enable}

Enable building with extra categories of selectors present.

This option lets you opt-in to non-default builds, like pre-releases and free-threaded Python. These are not included by default to give a nice default for new users, but can be added to the selectors available here. The allowed values are:

  • cpython-prerelease: Enables beta versions of Pythons if any are available (May-July, approximately). For backward compatibility, CIBW_PRERELEASE_PYTHONS is also supported until cibuildwheel 3.
  • cpython-freethreading: PEP 703 introduced variants of CPython that can be built without the Global Interpreter Lock (GIL). Those variants are also known as free-threaded / no-gil. This will enable building these wheels while they are experimental. The build identifiers for those variants have a t suffix in their python_tag (e.g. cp313t-manylinux_x86_64). For backward compatibility, CIBW_FREE_THREADED_SUPPORT is also supported until cibuildwheel 3.

In light of this change, I suggest a tiny rewrite to:

* `pypa/cibuildwheel <https://github.com/pypa/cibuildwheel>`_ supports the
  free-threaded build if you set 
  `CIBW_ENABLE to cpython-freethreading <https://cibuildwheel.pypa.io/en/stable/options/#enable>`_

(First issue)

Related PRs

Linked PRs

@3willows 3willows added the docs Documentation in the Doc dir label May 23, 2025
@3willows 3willows changed the title Update the C API Extension Support for Freethreading HOWTO to reflect deprecation of CIBW option Update the HOWTO to cover change in CIBW option May 23, 2025
@3willows 3willows changed the title Update the HOWTO to cover change in CIBW option Update the HOWTO because of change in CIBW option May 23, 2025
@3willows 3willows changed the title Update the HOWTO because of change in CIBW option Update the HOWTO to reflect change in CIBW option May 23, 2025
@3willows 3willows changed the title Update the HOWTO to reflect change in CIBW option Update HOWTO to reflect change in CIBW option May 23, 2025
miss-islington pushed a commit to miss-islington/cpython that referenced this issue May 24, 2025
miss-islington pushed a commit to miss-islington/cpython that referenced this issue May 24, 2025
@StanFromIreland
Copy link
Contributor

cc @hugovk #134598 and backports have been merged, should this not be closed?

@hugovk hugovk closed this as completed May 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
docs Documentation in the Doc dir topic-free-threading
Projects
Status: Todo
Development

No branches or pull requests

4 participants