Skip to content

Commit 3d3159b

Browse files
authored
docs: update for 3.13.0 final (#2035)
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
1 parent 0319c43 commit 3d3159b

File tree

3 files changed

+16
-7
lines changed

3 files changed

+16
-7
lines changed

README.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,10 @@ What does it do?
3939

4040
<sup>¹ PyPy is only supported for manylinux wheels.</sup><br>
4141
<sup>² Windows arm64 support is experimental.</sup><br>
42-
<supCPython 3.13 is built by default using Python RCs, starting with cibuildwheel 2.20. Free-threaded mode will still require opt-in using [`CIBW_FREE_THREADED_SUPPORT`](https://cibuildwheel.pypa.io/en/stable/options/#free-threaded-support).</sup><br>
42+
<sup>³ Free-threaded mode requires opt-in using [`CIBW_FREE_THREADED_SUPPORT`](https://cibuildwheel.pypa.io/en/stable/options/#free-threaded-support).</sup><br>
4343
<sup>⁴ Experimental, not yet supported on PyPI, but can be used directly in web deployment. Use `--platform pyodide` to build.</sup><br>
4444

45-
- Builds manylinux, musllinux, macOS 10.9+, and Windows wheels for CPython and PyPy
45+
- Builds manylinux, musllinux, macOS 10.9+ (10.13+ for Python 3.12+), and Windows wheels for CPython and PyPy
4646
- Works on GitHub Actions, Azure Pipelines, Travis CI, AppVeyor, CircleCI, GitLab CI, and Cirrus CI
4747
- Bundles shared library dependencies on Linux and macOS through [auditwheel](https://github.com/pypa/auditwheel) and [delocate](https://github.com/matthew-brett/delocate)
4848
- Runs your library's tests against the wheel-installed version of your library
@@ -85,7 +85,7 @@ jobs:
8585
runs-on: ${{ matrix.os }}
8686
strategy:
8787
matrix:
88-
os: [ubuntu-latest, windows-latest, macos-13, macos-14]
88+
os: [ubuntu-latest, windows-latest, macos-13, macos-latest]
8989

9090
steps:
9191
- uses: actions/checkout@v4

docs/cpp_standards.md

+2-3
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Building Python wheels with modern C++ standards (C++11 and later) requires a fe
88

99

1010
## manylinux1 and C++14
11-
The old `manylinux1` image (based on CentOS 5) contains a version of GCC and libstdc++ that only supports C++11 and earlier standards. There are however ways to compile wheels with the C++14 standard (and later): https://github.com/pypa/manylinux/issues/118
11+
The past end-of-life `manylinux1` image (based on CentOS 5) contains a version of GCC and libstdc++ that only supports C++11 and earlier standards. There are however ways to compile wheels with the C++14 standard (and later): https://github.com/pypa/manylinux/issues/118
1212

1313
`manylinux2010` and `manylinux2014` are newer and support all C++ standards (up to C++17).
1414

@@ -18,9 +18,8 @@ OS X/macOS allows you to specify a so-called "deployment target" version that wi
1818

1919
However, to enable modern C++ standards, the deployment target needs to be set high enough (since older OS X/macOS versions did not have the necessary modern C++ standard library).
2020

21-
To get C++11 and C++14 support, `MACOSX_DEPLOYMENT_TARGET` needs to be set to (at least) `"10.9"`. By default, `cibuildwheel` already does this, building 64-bit-only wheels for macOS 10.9 and later.
2221

23-
To get C++17 support, Xcode 9.3+ is needed, requiring at least macOS 10.13 on the build machine. To use C++17 library features and link against the C++ runtime library, set `MACOSX_DEPLOYMENT_TARGET` to `"10.13"` or `"10.14"` (or higher) - macOS 10.13 offers partial C++17 support (e.g., the filesystem header is in experimental, offering `#include <experimental/filesystem>` instead of `#include <filesystem>`); macOS 10.14 has full C++17 support.
22+
To get C++17 support, Xcode 9.3+ is needed, requiring at least macOS 10.13 on the build machine. To use C++17 library features and link against the C++ runtime library, set `MACOSX_DEPLOYMENT_TARGET` to `"10.13"` or `"10.14"` (or higher) - macOS 10.13 offers partial C++17 support (e.g., the filesystem header is in experimental, offering `#include <experimental/filesystem>` instead of `#include <filesystem>`); macOS 10.14 has full C++17 support. CPython 3.12+ require 10.13+ anyway.
2423

2524
However, if only C++17 compiler and standard template library (STL) features are used (not needing a C++17 runtime) it might be possible to set `MACOSX_DEPLOYMENT_TARGET` to a lower value, such as `"10.9"`. To find out if this is the case, try compiling and running with a lower `MACOSX_DEPLOYMENT_TARGET`: if C++17 features are used that require a more recent deployment target, building the wheel should fail.
2625

docs/options.md

+11-1
Original file line numberDiff line numberDiff line change
@@ -306,7 +306,17 @@ When setting the options, you can use shell-style globbing syntax, as per [fnmat
306306
The list of supported and currently selected build identifiers can also be retrieved by passing the `--print-build-identifiers` flag to cibuildwheel.
307307
The format is `python_tag-platform_tag`, with tags similar to those in [PEP 425](https://www.python.org/dev/peps/pep-0425/#details).
308308

309-
For CPython, the minimally supported macOS version is 10.9; for PyPy 3.7, macOS 10.13 or higher is required.
309+
The lowest value you can set `MACOSX_DEPLOYMENT_TARGET` is as follows:
310+
311+
| Arch | Python version range | Minimum target |
312+
|-------|----------------------|----------------|
313+
| Intel | CPython 3.6-3.11 | 10.9 |
314+
| Intel | CPython 3.12+ | 10.13 |
315+
| AS | CPython or PyPy | 11 |
316+
| Intel | PyPy 3.7-3.8 | 10.13 |
317+
| Intel | PyPy 3.9+ | 10.15 |
318+
319+
If you set the value lower, cibuildwheel will cap it to the lowest supported value for each target as needed.
310320

311321
Windows arm64 platform support is experimental.
312322

0 commit comments

Comments
 (0)