Skip to content

Update HOWTO to reflect change in CIBW option #134595

Closed
@3willows

Description

@3willows

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

Activity

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[/+] on May 23, 2025
changed the title [-]Update the HOWTO to cover change in CIBW option[/-] [+]Update the HOWTO because of change in CIBW option[/+] on May 23, 2025
changed the title [-]Update the HOWTO because of change in CIBW option[/-] [+]Update the HOWTO to reflect change in CIBW option[/+] on May 23, 2025
changed the title [-]Update the HOWTO to reflect change in CIBW option[/-] [+]Update HOWTO to reflect change in CIBW option[/+] on May 23, 2025
added a commit that references this issue on May 24, 2025

gh-134595: Update HOWTO to reflect change in CIBW option (#134598)

7b1010a
added a commit that references this issue on May 24, 2025

pythongh-134595: Update HOWTO to reflect change in CIBW option (pytho…

added a commit that references this issue on May 24, 2025

[3.13] gh-134595: Update HOWTO to reflect change in CIBW option (GH-1…

698bf97

5 remaining items

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      Update HOWTO to reflect change in CIBW option · Issue #134595 · python/cpython

      Follow Lee on X/Twitter - Father, Husband, Serial builder creating AI, crypto, games & web tools. We are friends :) AI Will Come To Life!

      Check out: eBank.nz (Art Generator) | Netwrck.com (AI Tools) | Text-Generator.io (AI API) | BitBank.nz (Crypto AI) | ReadingTime (Kids Reading) | RewordGame | BigMultiplayerChess | WebFiddle | How.nz | Helix AI Assistant