Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -194,7 +194,7 @@ Here are some repos that use cibuildwheel.
| [Tornado][] | ![github icon][] | ![linux icon][] ![apple icon][] ![windows icon][] | Tornado is a Python web framework and asynchronous networking library. Uses stable ABI for a small C extension. |
| [MyPy][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | The compiled version of MyPy using MyPyC. |
| [Prophet][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Tool for producing high quality forecasts for time series data that has multiple seasonality with linear or non-linear growth. |
| [Kivy][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Open source UI framework written in Python, running on Windows, Linux, macOS, Android and iOS |
| [Triton][] | ![github icon][] | ![linux icon][] | Self hosted runners |

[scikit-learn]: https://github.com/scikit-learn/scikit-learn
[duckdb]: https://github.com/duckdb/duckdb
Expand All @@ -205,7 +205,7 @@ Here are some repos that use cibuildwheel.
[Tornado]: https://github.com/tornadoweb/tornado
[MyPy]: https://github.com/mypyc/mypy_mypyc-wheels
[Prophet]: https://github.com/facebook/prophet
[Kivy]: https://github.com/kivy/kivy
[Triton]: https://github.com/openai/triton

[github icon]: docs/data/readme_icons/github.svg
[azurepipelines icon]: docs/data/readme_icons/azurepipelines.svg
Expand Down
48 changes: 24 additions & 24 deletions cibuildwheel/resources/build-platforms.toml
Original file line number Diff line number Diff line change
Expand Up @@ -161,18 +161,18 @@ python_configurations = [
{ identifier = "cp312-macosx_x86_64", version = "3.12", url = "https://www.python.org/ftp/python/3.12.10/python-3.12.10-macos11.pkg" },
{ identifier = "cp312-macosx_arm64", version = "3.12", url = "https://www.python.org/ftp/python/3.12.10/python-3.12.10-macos11.pkg" },
{ identifier = "cp312-macosx_universal2", version = "3.12", url = "https://www.python.org/ftp/python/3.12.10/python-3.12.10-macos11.pkg" },
{ identifier = "cp313-macosx_x86_64", version = "3.13", url = "https://www.python.org/ftp/python/3.13.12/python-3.13.12-macos11.pkg" },
{ identifier = "cp313-macosx_arm64", version = "3.13", url = "https://www.python.org/ftp/python/3.13.12/python-3.13.12-macos11.pkg" },
{ identifier = "cp313-macosx_universal2", version = "3.13", url = "https://www.python.org/ftp/python/3.13.12/python-3.13.12-macos11.pkg" },
{ identifier = "cp313t-macosx_x86_64", version = "3.13", url = "https://www.python.org/ftp/python/3.13.12/python-3.13.12-macos11.pkg" },
{ identifier = "cp313t-macosx_arm64", version = "3.13", url = "https://www.python.org/ftp/python/3.13.12/python-3.13.12-macos11.pkg" },
{ identifier = "cp313t-macosx_universal2", version = "3.13", url = "https://www.python.org/ftp/python/3.13.12/python-3.13.12-macos11.pkg" },
{ identifier = "cp314-macosx_x86_64", version = "3.14", url = "https://www.python.org/ftp/python/3.14.3/python-3.14.3-macos11.pkg" },
{ identifier = "cp314-macosx_arm64", version = "3.14", url = "https://www.python.org/ftp/python/3.14.3/python-3.14.3-macos11.pkg" },
{ identifier = "cp314-macosx_universal2", version = "3.14", url = "https://www.python.org/ftp/python/3.14.3/python-3.14.3-macos11.pkg" },
{ identifier = "cp314t-macosx_x86_64", version = "3.14", url = "https://www.python.org/ftp/python/3.14.3/python-3.14.3-macos11.pkg" },
{ identifier = "cp314t-macosx_arm64", version = "3.14", url = "https://www.python.org/ftp/python/3.14.3/python-3.14.3-macos11.pkg" },
{ identifier = "cp314t-macosx_universal2", version = "3.14", url = "https://www.python.org/ftp/python/3.14.3/python-3.14.3-macos11.pkg" },
{ identifier = "cp313-macosx_x86_64", version = "3.13", url = "https://www.python.org/ftp/python/3.13.13/python-3.13.13-macos11.pkg" },
{ identifier = "cp313-macosx_arm64", version = "3.13", url = "https://www.python.org/ftp/python/3.13.13/python-3.13.13-macos11.pkg" },
{ identifier = "cp313-macosx_universal2", version = "3.13", url = "https://www.python.org/ftp/python/3.13.13/python-3.13.13-macos11.pkg" },
{ identifier = "cp313t-macosx_x86_64", version = "3.13", url = "https://www.python.org/ftp/python/3.13.13/python-3.13.13-macos11.pkg" },
{ identifier = "cp313t-macosx_arm64", version = "3.13", url = "https://www.python.org/ftp/python/3.13.13/python-3.13.13-macos11.pkg" },
{ identifier = "cp313t-macosx_universal2", version = "3.13", url = "https://www.python.org/ftp/python/3.13.13/python-3.13.13-macos11.pkg" },
{ identifier = "cp314-macosx_x86_64", version = "3.14", url = "https://www.python.org/ftp/python/3.14.4/python-3.14.4-macos11.pkg" },
{ identifier = "cp314-macosx_arm64", version = "3.14", url = "https://www.python.org/ftp/python/3.14.4/python-3.14.4-macos11.pkg" },
{ identifier = "cp314-macosx_universal2", version = "3.14", url = "https://www.python.org/ftp/python/3.14.4/python-3.14.4-macos11.pkg" },
{ identifier = "cp314t-macosx_x86_64", version = "3.14", url = "https://www.python.org/ftp/python/3.14.4/python-3.14.4-macos11.pkg" },
{ identifier = "cp314t-macosx_arm64", version = "3.14", url = "https://www.python.org/ftp/python/3.14.4/python-3.14.4-macos11.pkg" },
{ identifier = "cp314t-macosx_universal2", version = "3.14", url = "https://www.python.org/ftp/python/3.14.4/python-3.14.4-macos11.pkg" },
{ identifier = "pp38-macosx_x86_64", version = "3.8", url = "https://downloads.python.org/pypy/pypy3.8-v7.3.11-macos_x86_64.tar.bz2" },
{ identifier = "pp38-macosx_arm64", version = "3.8", url = "https://downloads.python.org/pypy/pypy3.8-v7.3.11-macos_arm64.tar.bz2" },
{ identifier = "pp39-macosx_x86_64", version = "3.9", url = "https://downloads.python.org/pypy/pypy3.9-v7.3.16-macos_x86_64.tar.bz2" },
Expand All @@ -199,22 +199,22 @@ python_configurations = [
{ identifier = "cp311-win_amd64", version = "3.11.9" },
{ identifier = "cp312-win32", version = "3.12.10" },
{ identifier = "cp312-win_amd64", version = "3.12.10" },
{ identifier = "cp313-win32", version = "3.13.12" },
{ identifier = "cp313t-win32", version = "3.13.12" },
{ identifier = "cp313-win_amd64", version = "3.13.12" },
{ identifier = "cp313t-win_amd64", version = "3.13.12" },
{ identifier = "cp314-win32", version = "3.14.3" },
{ identifier = "cp314t-win32", version = "3.14.3" },
{ identifier = "cp314-win_amd64", version = "3.14.3" },
{ identifier = "cp314t-win_amd64", version = "3.14.3" },
{ identifier = "cp313-win32", version = "3.13.13" },
{ identifier = "cp313t-win32", version = "3.13.13" },
{ identifier = "cp313-win_amd64", version = "3.13.13" },
{ identifier = "cp313t-win_amd64", version = "3.13.13" },
{ identifier = "cp314-win32", version = "3.14.4" },
{ identifier = "cp314t-win32", version = "3.14.4" },
{ identifier = "cp314-win_amd64", version = "3.14.4" },
{ identifier = "cp314t-win_amd64", version = "3.14.4" },
{ identifier = "cp39-win_arm64", version = "3.9.10" },
{ identifier = "cp310-win_arm64", version = "3.10.11" },
{ identifier = "cp311-win_arm64", version = "3.11.9" },
{ identifier = "cp312-win_arm64", version = "3.12.10" },
{ identifier = "cp313-win_arm64", version = "3.13.12" },
{ identifier = "cp313t-win_arm64", version = "3.13.12" },
{ identifier = "cp314-win_arm64", version = "3.14.3" },
{ identifier = "cp314t-win_arm64", version = "3.14.3" },
{ identifier = "cp313-win_arm64", version = "3.13.13" },
{ identifier = "cp313t-win_arm64", version = "3.13.13" },
{ identifier = "cp314-win_arm64", version = "3.14.4" },
{ identifier = "cp314t-win_arm64", version = "3.14.4" },
{ identifier = "pp38-win_amd64", version = "3.8", url = "https://downloads.python.org/pypy/pypy3.8-v7.3.11-win64.zip" },
{ identifier = "pp39-win_amd64", version = "3.9", url = "https://downloads.python.org/pypy/pypy3.9-v7.3.16-win64.zip" },
{ identifier = "pp310-win_amd64", version = "3.10", url = "https://downloads.python.org/pypy/pypy3.10-v7.3.19-win64.zip" },
Expand Down
8 changes: 4 additions & 4 deletions cibuildwheel/resources/constraints-python310.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# nox -s update_constraints
altgraph==0.17.5
# via macholib
build==1.4.2
build==1.4.3
# via -r cibuildwheel/resources/constraints.in
delocate==0.13.0
# via -r cibuildwheel/resources/constraints.in
Expand All @@ -22,21 +22,21 @@ packaging==26.0
# delocate
pip==26.0.1
# via -r cibuildwheel/resources/constraints.in
platformdirs==4.9.4
platformdirs==4.9.6
# via
# python-discovery
# virtualenv
pyproject-hooks==1.2.0
# via build
python-discovery==1.2.1
python-discovery==1.2.2
# via virtualenv
tomli==2.4.1
# via build
typing-extensions==4.15.0
# via
# delocate
# virtualenv
virtualenv==21.2.0
virtualenv==21.2.1
# via -r cibuildwheel/resources/constraints.in
zipp==3.23.0
# via importlib-metadata
8 changes: 4 additions & 4 deletions cibuildwheel/resources/constraints-python311.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# nox -s update_constraints
altgraph==0.17.5
# via macholib
build==1.4.2
build==1.4.3
# via -r cibuildwheel/resources/constraints.in
delocate==0.13.0
# via -r cibuildwheel/resources/constraints.in
Expand All @@ -20,15 +20,15 @@ packaging==26.0
# delocate
pip==26.0.1
# via -r cibuildwheel/resources/constraints.in
platformdirs==4.9.4
platformdirs==4.9.6
# via
# python-discovery
# virtualenv
pyproject-hooks==1.2.0
# via build
python-discovery==1.2.1
python-discovery==1.2.2
# via virtualenv
typing-extensions==4.15.0
# via delocate
virtualenv==21.2.0
virtualenv==21.2.1
# via -r cibuildwheel/resources/constraints.in
8 changes: 4 additions & 4 deletions cibuildwheel/resources/constraints-python312.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# nox -s update_constraints
altgraph==0.17.5
# via macholib
build==1.4.2
build==1.4.3
# via -r cibuildwheel/resources/constraints.in
delocate==0.13.0
# via -r cibuildwheel/resources/constraints.in
Expand All @@ -20,15 +20,15 @@ packaging==26.0
# delocate
pip==26.0.1
# via -r cibuildwheel/resources/constraints.in
platformdirs==4.9.4
platformdirs==4.9.6
# via
# python-discovery
# virtualenv
pyproject-hooks==1.2.0
# via build
python-discovery==1.2.1
python-discovery==1.2.2
# via virtualenv
typing-extensions==4.15.0
# via delocate
virtualenv==21.2.0
virtualenv==21.2.1
# via -r cibuildwheel/resources/constraints.in
8 changes: 4 additions & 4 deletions cibuildwheel/resources/constraints-python313.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# nox -s update_constraints
altgraph==0.17.5
# via macholib
build==1.4.2
build==1.4.3
# via -r cibuildwheel/resources/constraints.in
delocate==0.13.0
# via -r cibuildwheel/resources/constraints.in
Expand All @@ -20,15 +20,15 @@ packaging==26.0
# delocate
pip==26.0.1
# via -r cibuildwheel/resources/constraints.in
platformdirs==4.9.4
platformdirs==4.9.6
# via
# python-discovery
# virtualenv
pyproject-hooks==1.2.0
# via build
python-discovery==1.2.1
python-discovery==1.2.2
# via virtualenv
typing-extensions==4.15.0
# via delocate
virtualenv==21.2.0
virtualenv==21.2.1
# via -r cibuildwheel/resources/constraints.in
8 changes: 4 additions & 4 deletions cibuildwheel/resources/constraints-python314.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# nox -s update_constraints
altgraph==0.17.5
# via macholib
build==1.4.2
build==1.4.3
# via -r cibuildwheel/resources/constraints.in
delocate==0.13.0
# via -r cibuildwheel/resources/constraints.in
Expand All @@ -20,15 +20,15 @@ packaging==26.0
# delocate
pip==26.0.1
# via -r cibuildwheel/resources/constraints.in
platformdirs==4.9.4
platformdirs==4.9.6
# via
# python-discovery
# virtualenv
pyproject-hooks==1.2.0
# via build
python-discovery==1.2.1
python-discovery==1.2.2
# via virtualenv
typing-extensions==4.15.0
# via delocate
virtualenv==21.2.0
virtualenv==21.2.1
# via -r cibuildwheel/resources/constraints.in
4 changes: 2 additions & 2 deletions cibuildwheel/resources/constraints-python38.txt
Original file line number Diff line number Diff line change
Expand Up @@ -28,15 +28,15 @@ platformdirs==4.3.6
# virtualenv
pyproject-hooks==1.2.0
# via build
python-discovery==1.2.1
python-discovery==1.2.2
# via virtualenv
tomli==2.4.1
# via build
typing-extensions==4.13.2
# via
# delocate
# virtualenv
virtualenv==21.2.0
virtualenv==21.2.1
# via -r cibuildwheel/resources/constraints.in
zipp==3.20.2
# via importlib-metadata
6 changes: 3 additions & 3 deletions cibuildwheel/resources/constraints-python39.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# nox -s update_constraints
altgraph==0.17.5
# via macholib
build==1.4.2
build==1.4.3
# via -r cibuildwheel/resources/constraints.in
delocate==0.13.0
# via -r cibuildwheel/resources/constraints.in
Expand All @@ -28,15 +28,15 @@ platformdirs==4.4.0
# virtualenv
pyproject-hooks==1.2.0
# via build
python-discovery==1.2.1
python-discovery==1.2.2
# via virtualenv
tomli==2.4.1
# via build
typing-extensions==4.15.0
# via
# delocate
# virtualenv
virtualenv==21.2.0
virtualenv==21.2.1
# via -r cibuildwheel/resources/constraints.in
zipp==3.23.0
# via importlib-metadata
8 changes: 4 additions & 4 deletions cibuildwheel/resources/constraints.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# nox -s update_constraints
altgraph==0.17.5
# via macholib
build==1.4.2
build==1.4.3
# via -r cibuildwheel/resources/constraints.in
delocate==0.13.0
# via -r cibuildwheel/resources/constraints.in
Expand All @@ -20,15 +20,15 @@ packaging==26.0
# delocate
pip==26.0.1
# via -r cibuildwheel/resources/constraints.in
platformdirs==4.9.4
platformdirs==4.9.6
# via
# python-discovery
# virtualenv
pyproject-hooks==1.2.0
# via build
python-discovery==1.2.1
python-discovery==1.2.2
# via virtualenv
typing-extensions==4.15.0
# via delocate
virtualenv==21.2.0
virtualenv==21.2.1
# via -r cibuildwheel/resources/constraints.in
68 changes: 34 additions & 34 deletions cibuildwheel/resources/pinned_docker_images.cfg
Original file line number Diff line number Diff line change
@@ -1,54 +1,54 @@
[x86_64]
manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2026.04.04-1
manylinux_2_28 = quay.io/pypa/manylinux_2_28_x86_64:2026.04.04-1
manylinux_2_34 = quay.io/pypa/manylinux_2_34_x86_64:2026.04.04-1
musllinux_1_2 = quay.io/pypa/musllinux_1_2_x86_64:2026.04.04-1
manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2026.04.08-5
manylinux_2_28 = quay.io/pypa/manylinux_2_28_x86_64:2026.04.08-5
manylinux_2_34 = quay.io/pypa/manylinux_2_34_x86_64:2026.04.08-5
musllinux_1_2 = quay.io/pypa/musllinux_1_2_x86_64:2026.04.08-5

[i686]
manylinux2014 = quay.io/pypa/manylinux2014_i686:2026.04.04-1
manylinux_2_28 = quay.io/pypa/manylinux_2_28_i686:2026.04.04-1
manylinux_2_34 = quay.io/pypa/manylinux_2_34_i686:2026.04.04-1
musllinux_1_2 = quay.io/pypa/musllinux_1_2_i686:2026.04.04-1
manylinux2014 = quay.io/pypa/manylinux2014_i686:2026.04.08-5
manylinux_2_28 = quay.io/pypa/manylinux_2_28_i686:2026.04.08-5
manylinux_2_34 = quay.io/pypa/manylinux_2_34_i686:2026.04.08-5
musllinux_1_2 = quay.io/pypa/musllinux_1_2_i686:2026.04.08-5

[aarch64]
manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2026.04.04-1
manylinux_2_28 = quay.io/pypa/manylinux_2_28_aarch64:2026.04.04-1
manylinux_2_34 = quay.io/pypa/manylinux_2_34_aarch64:2026.04.04-1
musllinux_1_2 = quay.io/pypa/musllinux_1_2_aarch64:2026.04.04-1
manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2026.04.08-5
manylinux_2_28 = quay.io/pypa/manylinux_2_28_aarch64:2026.04.08-5
manylinux_2_34 = quay.io/pypa/manylinux_2_34_aarch64:2026.04.08-5
musllinux_1_2 = quay.io/pypa/musllinux_1_2_aarch64:2026.04.08-5

[ppc64le]
manylinux2014 = quay.io/pypa/manylinux2014_ppc64le:2026.04.04-1
manylinux_2_28 = quay.io/pypa/manylinux_2_28_ppc64le:2026.04.04-1
manylinux_2_34 = quay.io/pypa/manylinux_2_34_ppc64le:2026.04.04-1
musllinux_1_2 = quay.io/pypa/musllinux_1_2_ppc64le:2026.04.04-1
manylinux2014 = quay.io/pypa/manylinux2014_ppc64le:2026.04.08-5
manylinux_2_28 = quay.io/pypa/manylinux_2_28_ppc64le:2026.04.08-5
manylinux_2_34 = quay.io/pypa/manylinux_2_34_ppc64le:2026.04.08-5
musllinux_1_2 = quay.io/pypa/musllinux_1_2_ppc64le:2026.04.08-5

[s390x]
manylinux2014 = quay.io/pypa/manylinux2014_s390x:2026.04.04-1
manylinux_2_28 = quay.io/pypa/manylinux_2_28_s390x:2026.04.04-1
manylinux_2_34 = quay.io/pypa/manylinux_2_34_s390x:2026.04.04-1
musllinux_1_2 = quay.io/pypa/musllinux_1_2_s390x:2026.04.04-1
manylinux2014 = quay.io/pypa/manylinux2014_s390x:2026.04.08-5
manylinux_2_28 = quay.io/pypa/manylinux_2_28_s390x:2026.04.08-5
manylinux_2_34 = quay.io/pypa/manylinux_2_34_s390x:2026.04.08-5
musllinux_1_2 = quay.io/pypa/musllinux_1_2_s390x:2026.04.08-5

[pypy_x86_64]
manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2026.04.04-1
manylinux_2_28 = quay.io/pypa/manylinux_2_28_x86_64:2026.04.04-1
manylinux_2_34 = quay.io/pypa/manylinux_2_34_x86_64:2026.04.04-1
manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2026.04.08-5
manylinux_2_28 = quay.io/pypa/manylinux_2_28_x86_64:2026.04.08-5
manylinux_2_34 = quay.io/pypa/manylinux_2_34_x86_64:2026.04.08-5

[pypy_i686]
manylinux2014 = quay.io/pypa/manylinux2014_i686:2026.04.04-1
manylinux_2_28 = quay.io/pypa/manylinux_2_28_i686:2026.04.04-1
manylinux_2_34 = quay.io/pypa/manylinux_2_34_i686:2026.04.04-1
manylinux2014 = quay.io/pypa/manylinux2014_i686:2026.04.08-5
manylinux_2_28 = quay.io/pypa/manylinux_2_28_i686:2026.04.08-5
manylinux_2_34 = quay.io/pypa/manylinux_2_34_i686:2026.04.08-5

[pypy_aarch64]
manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2026.04.04-1
manylinux_2_28 = quay.io/pypa/manylinux_2_28_aarch64:2026.04.04-1
manylinux_2_34 = quay.io/pypa/manylinux_2_34_aarch64:2026.04.04-1
manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2026.04.08-5
manylinux_2_28 = quay.io/pypa/manylinux_2_28_aarch64:2026.04.08-5
manylinux_2_34 = quay.io/pypa/manylinux_2_34_aarch64:2026.04.08-5

[armv7l]
manylinux_2_31 = quay.io/pypa/manylinux_2_31_armv7l:2026.04.04-1
manylinux_2_35 = quay.io/pypa/manylinux_2_35_armv7l:2026.04.04-1
musllinux_1_2 = quay.io/pypa/musllinux_1_2_armv7l:2026.04.04-1
manylinux_2_31 = quay.io/pypa/manylinux_2_31_armv7l:2026.04.08-5
manylinux_2_35 = quay.io/pypa/manylinux_2_35_armv7l:2026.04.08-5
musllinux_1_2 = quay.io/pypa/musllinux_1_2_armv7l:2026.04.08-5

[riscv64]
manylinux_2_39 = quay.io/pypa/manylinux_2_39_riscv64:2026.04.04-1
musllinux_1_2 = quay.io/pypa/musllinux_1_2_riscv64:2026.04.04-1
manylinux_2_39 = quay.io/pypa/manylinux_2_39_riscv64:2026.04.08-5
musllinux_1_2 = quay.io/pypa/musllinux_1_2_riscv64:2026.04.08-5

Loading
Loading