You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
introduced variants of CPython that can be built without the Global
349
-
Interpreter Lock (GIL). Those variants are also known as free-threaded /
350
-
no-gil. This will enable building these wheels for 3.13, which was considered
351
-
experimental. The build identifiers for those variants have a `t` suffix in
352
-
their `python_tag` (e.g. `cp313t-manylinux_x86_64`). Starting in 3.14,
353
-
free-threaded builds are no longer experimental, so this enable is not needed.
357
+
-`cpython-freethreading`: Enable experimental free-threaded builds for CPython 3.13.
358
+
Free-threading wheels for 3.14+ are available without this flag, as it's [no
359
+
longer considered experimental](https://peps.python.org/pep-0779/).
354
360
-`pypy`: Enable PyPy.
355
361
-`pypy-eol`: Enable PyPy versions that have passed end of life (if still available).
356
362
-`graalpy`: Enable GraalPy.
@@ -368,7 +374,15 @@ values are:
368
374
that version of Python will become available without this flag.
369
375
370
376
!!! note
371
-
Free threading was experimental in 3.13: [What’s New In Python 3.13](https://docs.python.org/3.13/whatsnew/3.13.html#free-threaded-cpython)
377
+
[PEP 703](https://www.python.org/dev/peps/pep-0703) introduced variants of
378
+
CPython that can be built without the Global Interpreter Lock (GIL). Those
379
+
variants are also known as free-threaded / no-gil. The build identifiers for
380
+
those variants have a `t` suffix in their `python_tag` (e.g.
381
+
`cp313t-manylinux_x86_64`).
382
+
383
+
Free threading was [experimental in 3.13](https://docs.python.org/3.13/whatsnew/3.13.html#free-threaded-cpython), so it required an explicit enable flag. But, as noted above, free-threading doesn't require an enable flag for 3.14+.
384
+
385
+
For more info on building for free-threading, see the [Python Free-Threading Guide](https://py-free-threading.github.io/).
372
386
373
387
Default: empty.
374
388
@@ -392,12 +406,8 @@ without disabling your other enables.
392
406
393
407
```toml
394
408
[tool.cibuildwheel]
395
-
# Enable free-threaded support
396
-
enable = ["cpython-freethreading"]
397
-
398
-
# Skip building free-threaded compatible wheels on Windows
409
+
# Enable free-threaded support for CPython 3.13
399
410
enable = ["cpython-freethreading"]
400
-
skip = "*t-win*"
401
411
402
412
# Include all PyPy versions
403
413
enable = ["pypy", "pypy-eol"]
@@ -410,18 +420,14 @@ without disabling your other enables.
0 commit comments