Compare commits

...
5 Commits
Author SHA1 Message Date
Joe Rickerby faf86a6ed7 Bump version: v2.23.3 2025-04-26 11:39:25 +01:00
Joe Rickerby 4241f37b2c [2.x] Update dependencies (#2371) 2025-04-26 11:35:02 +01:00
Joe Rickerby d04cacbc98 Bump version: v2.23.2 2025-03-24 21:25:38 +00:00
Matthieu Darbois 5f4e019684 [2.x] Update dependencies (#2334) 2025-03-24 21:17:56 +00:00
Henry Schreiner 2efa648f38 fix: always resolve --python argument (#2328) (#2331)
fix: always resolve --python argument (#2328)

fix: always resolve the --python argument

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
2025-03-23 15:03:30 -04:00
33 changed files with 150 additions and 136 deletions
+14 -20
View File
@@ -98,7 +98,7 @@ jobs:
- uses: actions/setup-python@v5 - uses: actions/setup-python@v5
- name: Install cibuildwheel - name: Install cibuildwheel
run: python -m pip install cibuildwheel==2.23.1 run: python -m pip install cibuildwheel==2.23.3
- name: Build wheels - name: Build wheels
run: python -m cibuildwheel --output-dir wheelhouse run: python -m cibuildwheel --output-dir wheelhouse
@@ -215,6 +215,19 @@ Changelog
<!-- this section was generated by bin/update_readme_changelog.py -- do not edit manually --> <!-- this section was generated by bin/update_readme_changelog.py -- do not edit manually -->
### v2.23.3
_26 April 2025_
- 🛠 Dependency updates, including Python 3.13.3 (#2371)
### v2.23.2
_24 March 2025_
- 🐛 Workaround an issue with pyodide builds when running cibuildwheel with a Python that was installed via UV (#2328 via #2331)
- 🛠 Dependency updates, including a manylinux update that fixes an ['undefined symbol' error](https://github.com/pypa/manylinux/issues/1760) in gcc-toolset (#2334)
### v2.23.1 ### v2.23.1
_15 March 2025_ _15 March 2025_
@@ -249,25 +262,6 @@ _23 November 2024_
- 🛠 Now cibuildwheel uses dependency-groups for development dependencies (#2064, #2085) - 🛠 Now cibuildwheel uses dependency-groups for development dependencies (#2064, #2085)
- 📚 Docs updates and tidy ups (#2061, #2067, #2072) - 📚 Docs updates and tidy ups (#2061, #2067, #2072)
### v2.21.3
_9 October 2024_
- 🛠 Update CPython 3.13 to 3.13.0 final release (#2032)
- 📚 Docs updates and tidy ups (#2035)
### v2.21.2
_2 October 2024_
- ✨ Adds support for building 32-bit armv7l wheels on musllinux. On a Linux system with emulation set up, set [CIBW_ARCHS](https://cibuildwheel.pypa.io/en/stable/options/#archs) to `armv7l` on Linux to try it out if you're interested! (#2017)
- 🐛 Fix Linux Podman builds on some systems (#2016)
- ✨ Adds official support for running on Python 3.13 (#2026)
- 🛠 Update CPython 3.13 to 3.13.0rc3 (#2029)
Note: the default [manylinux image](https://cibuildwheel.pypa.io/en/stable/options/#linux-image) is **scheduled to change** from `manylinux2014` to `manylinux_2_28` in a cibuildwheel release on or after **6th May 2025** - you can set the value now to avoid getting upgraded if you want. (#1992)
<!-- END bin/update_readme_changelog.py --> <!-- END bin/update_readme_changelog.py -->
--- ---
+1 -1
View File
@@ -1,3 +1,3 @@
from __future__ import annotations from __future__ import annotations
__version__ = "2.23.1" __version__ = "2.23.3"
+18 -18
View File
@@ -141,15 +141,15 @@ python_configurations = [
{ identifier = "cp311-macosx_x86_64", version = "3.11", url = "https://www.python.org/ftp/python/3.11.9/python-3.11.9-macos11.pkg" }, { identifier = "cp311-macosx_x86_64", version = "3.11", url = "https://www.python.org/ftp/python/3.11.9/python-3.11.9-macos11.pkg" },
{ identifier = "cp311-macosx_arm64", version = "3.11", url = "https://www.python.org/ftp/python/3.11.9/python-3.11.9-macos11.pkg" }, { identifier = "cp311-macosx_arm64", version = "3.11", url = "https://www.python.org/ftp/python/3.11.9/python-3.11.9-macos11.pkg" },
{ identifier = "cp311-macosx_universal2", version = "3.11", url = "https://www.python.org/ftp/python/3.11.9/python-3.11.9-macos11.pkg" }, { identifier = "cp311-macosx_universal2", version = "3.11", url = "https://www.python.org/ftp/python/3.11.9/python-3.11.9-macos11.pkg" },
{ identifier = "cp312-macosx_x86_64", version = "3.12", url = "https://www.python.org/ftp/python/3.12.9/python-3.12.9-macos11.pkg" }, { 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.9/python-3.12.9-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.9/python-3.12.9-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.2/python-3.13.2-macos11.pkg" }, { identifier = "cp313-macosx_x86_64", version = "3.13", url = "https://www.python.org/ftp/python/3.13.3/python-3.13.3-macos11.pkg" },
{ identifier = "cp313-macosx_arm64", version = "3.13", url = "https://www.python.org/ftp/python/3.13.2/python-3.13.2-macos11.pkg" }, { identifier = "cp313-macosx_arm64", version = "3.13", url = "https://www.python.org/ftp/python/3.13.3/python-3.13.3-macos11.pkg" },
{ identifier = "cp313-macosx_universal2", version = "3.13", url = "https://www.python.org/ftp/python/3.13.2/python-3.13.2-macos11.pkg" }, { identifier = "cp313-macosx_universal2", version = "3.13", url = "https://www.python.org/ftp/python/3.13.3/python-3.13.3-macos11.pkg" },
{ identifier = "cp313t-macosx_x86_64", version = "3.13", url = "https://www.python.org/ftp/python/3.13.2/python-3.13.2-macos11.pkg" }, { identifier = "cp313t-macosx_x86_64", version = "3.13", url = "https://www.python.org/ftp/python/3.13.3/python-3.13.3-macos11.pkg" },
{ identifier = "cp313t-macosx_arm64", version = "3.13", url = "https://www.python.org/ftp/python/3.13.2/python-3.13.2-macos11.pkg" }, { identifier = "cp313t-macosx_arm64", version = "3.13", url = "https://www.python.org/ftp/python/3.13.3/python-3.13.3-macos11.pkg" },
{ identifier = "cp313t-macosx_universal2", version = "3.13", url = "https://www.python.org/ftp/python/3.13.2/python-3.13.2-macos11.pkg" }, { identifier = "cp313t-macosx_universal2", version = "3.13", url = "https://www.python.org/ftp/python/3.13.3/python-3.13.3-macos11.pkg" },
{ identifier = "pp37-macosx_x86_64", version = "3.7", url = "https://downloads.python.org/pypy/pypy3.7-v7.3.9-osx64.tar.bz2" }, { identifier = "pp37-macosx_x86_64", version = "3.7", url = "https://downloads.python.org/pypy/pypy3.7-v7.3.9-osx64.tar.bz2" },
{ 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_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 = "pp38-macosx_arm64", version = "3.8", url = "https://downloads.python.org/pypy/pypy3.8-v7.3.11-macos_arm64.tar.bz2" },
@@ -175,18 +175,18 @@ python_configurations = [
{ identifier = "cp310-win_amd64", version = "3.10.11", arch = "64" }, { identifier = "cp310-win_amd64", version = "3.10.11", arch = "64" },
{ identifier = "cp311-win32", version = "3.11.9", arch = "32" }, { identifier = "cp311-win32", version = "3.11.9", arch = "32" },
{ identifier = "cp311-win_amd64", version = "3.11.9", arch = "64" }, { identifier = "cp311-win_amd64", version = "3.11.9", arch = "64" },
{ identifier = "cp312-win32", version = "3.12.9", arch = "32" }, { identifier = "cp312-win32", version = "3.12.10", arch = "32" },
{ identifier = "cp312-win_amd64", version = "3.12.9", arch = "64" }, { identifier = "cp312-win_amd64", version = "3.12.10", arch = "64" },
{ identifier = "cp313-win32", version = "3.13.2", arch = "32" }, { identifier = "cp313-win32", version = "3.13.3", arch = "32" },
{ identifier = "cp313t-win32", version = "3.13.2", arch = "32" }, { identifier = "cp313t-win32", version = "3.13.3", arch = "32" },
{ identifier = "cp313-win_amd64", version = "3.13.2", arch = "64" }, { identifier = "cp313-win_amd64", version = "3.13.3", arch = "64" },
{ identifier = "cp313t-win_amd64", version = "3.13.2", arch = "64" }, { identifier = "cp313t-win_amd64", version = "3.13.3", arch = "64" },
{ identifier = "cp39-win_arm64", version = "3.9.10", arch = "ARM64" }, { identifier = "cp39-win_arm64", version = "3.9.10", arch = "ARM64" },
{ identifier = "cp310-win_arm64", version = "3.10.11", arch = "ARM64" }, { identifier = "cp310-win_arm64", version = "3.10.11", arch = "ARM64" },
{ identifier = "cp311-win_arm64", version = "3.11.9", arch = "ARM64" }, { identifier = "cp311-win_arm64", version = "3.11.9", arch = "ARM64" },
{ identifier = "cp312-win_arm64", version = "3.12.9", arch = "ARM64" }, { identifier = "cp312-win_arm64", version = "3.12.10", arch = "ARM64" },
{ identifier = "cp313-win_arm64", version = "3.13.2", arch = "ARM64" }, { identifier = "cp313-win_arm64", version = "3.13.3", arch = "ARM64" },
{ identifier = "cp313t-win_arm64", version = "3.13.2", arch = "ARM64" }, { identifier = "cp313t-win_arm64", version = "3.13.3", arch = "ARM64" },
{ identifier = "pp37-win_amd64", version = "3.7", arch = "64", url = "https://downloads.python.org/pypy/pypy3.7-v7.3.9-win64.zip" }, { identifier = "pp37-win_amd64", version = "3.7", arch = "64", url = "https://downloads.python.org/pypy/pypy3.7-v7.3.9-win64.zip" },
{ identifier = "pp38-win_amd64", version = "3.8", arch = "64", url = "https://downloads.python.org/pypy/pypy3.8-v7.3.11-win64.zip" }, { identifier = "pp38-win_amd64", version = "3.8", arch = "64", url = "https://downloads.python.org/pypy/pypy3.8-v7.3.11-win64.zip" },
{ identifier = "pp39-win_amd64", version = "3.9", arch = "64", url = "https://downloads.python.org/pypy/pypy3.9-v7.3.16-win64.zip" }, { identifier = "pp39-win_amd64", version = "3.9", arch = "64", url = "https://downloads.python.org/pypy/pypy3.9-v7.3.16-win64.zip" },
@@ -13,10 +13,9 @@
}, },
"enable": { "enable": {
"enum": [ "enum": [
"cpython-eol",
"cpython-freethreading", "cpython-freethreading",
"cpython-prerelease", "cpython-prerelease",
"pypy-eol" "pypy"
] ]
}, },
"description": "A Python version or flavor to enable." "description": "A Python version or flavor to enable."
@@ -289,6 +288,7 @@
"type": "boolean", "type": "boolean",
"default": false, "default": false,
"description": "The project supports free-threaded builds of Python (PEP703)", "description": "The project supports free-threaded builds of Python (PEP703)",
"deprecated": "Use the `enable` option instead.",
"title": "CIBW_FREE_THREADED_SUPPORT" "title": "CIBW_FREE_THREADED_SUPPORT"
}, },
"manylinux-aarch64-image": { "manylinux-aarch64-image": {
@@ -2,7 +2,7 @@
# nox -s update_constraints # nox -s update_constraints
annotated-types==0.7.0 annotated-types==0.7.0
# via pydantic # via pydantic
anyio==4.8.0 anyio==4.9.0
# via httpx # via httpx
auditwheel-emscripten==0.0.16 auditwheel-emscripten==0.0.16
# via pyodide-build # via pyodide-build
@@ -19,15 +19,15 @@ charset-normalizer==3.4.1
# via requests # via requests
click==8.1.8 click==8.1.8
# via typer # via typer
cmake==3.31.6 cmake==4.0.0
# via pyodide-build # via pyodide-build
distlib==0.3.9 distlib==0.3.9
# via virtualenv # via virtualenv
filelock==3.17.0 filelock==3.18.0
# via virtualenv # via virtualenv
h11==0.14.0 h11==0.14.0
# via httpcore # via httpcore
httpcore==1.0.7 httpcore==1.0.8
# via httpx # via httpx
httpx==0.28.1 httpx==0.28.1
# via unearth # via unearth
@@ -42,7 +42,7 @@ markdown-it-py==3.0.0
# via rich # via rich
mdurl==0.1.2 mdurl==0.1.2
# via markdown-it-py # via markdown-it-py
packaging==24.2 packaging==25.0
# via # via
# auditwheel-emscripten # auditwheel-emscripten
# build # build
@@ -50,13 +50,13 @@ packaging==24.2
# unearth # unearth
pip==25.0.1 pip==25.0.1
# via -r .nox/update_constraints/tmp/constraints-pyodide.in # via -r .nox/update_constraints/tmp/constraints-pyodide.in
platformdirs==4.3.6 platformdirs==4.3.7
# via virtualenv # via virtualenv
pydantic==2.10.6 pydantic==2.11.3
# via # via
# pyodide-build # pyodide-build
# pyodide-lock # pyodide-lock
pydantic-core==2.27.2 pydantic-core==2.33.1
# via pydantic # via pydantic
pygments==2.19.1 pygments==2.19.1
# via rich # via rich
@@ -74,7 +74,7 @@ requests==2.32.3
# via pyodide-build # via pyodide-build
resolvelib==1.1.0 resolvelib==1.1.0
# via pyodide-build # via pyodide-build
rich==13.9.4 rich==14.0.0
# via # via
# pyodide-build # pyodide-build
# pyodide-cli # pyodide-cli
@@ -92,17 +92,20 @@ typer==0.15.2
# auditwheel-emscripten # auditwheel-emscripten
# pyodide-build # pyodide-build
# pyodide-cli # pyodide-cli
typing-extensions==4.12.2 typing-extensions==4.13.2
# via # via
# anyio # anyio
# pydantic # pydantic
# pydantic-core # pydantic-core
# typer # typer
unearth==0.17.2 # typing-inspection
typing-inspection==0.4.0
# via pydantic
unearth==0.17.5
# via pyodide-build # via pyodide-build
urllib3==2.3.0 urllib3==2.4.0
# via requests # via requests
virtualenv==20.29.3 virtualenv==20.30.0
# via # via
# build # build
# pyodide-build # pyodide-build
@@ -8,27 +8,27 @@ delocate==0.13.0
# via -r cibuildwheel/resources/constraints.in # via -r cibuildwheel/resources/constraints.in
distlib==0.3.9 distlib==0.3.9
# via virtualenv # via virtualenv
filelock==3.17.0 filelock==3.18.0
# via virtualenv # via virtualenv
importlib-metadata==8.6.1 importlib-metadata==8.6.1
# via build # via build
macholib==1.16.3 macholib==1.16.3
# via delocate # via delocate
packaging==24.2 packaging==25.0
# via # via
# build # build
# delocate # delocate
pip==25.0.1 pip==25.0.1
# via -r cibuildwheel/resources/constraints.in # via -r cibuildwheel/resources/constraints.in
platformdirs==4.3.6 platformdirs==4.3.7
# via virtualenv # via virtualenv
pyproject-hooks==1.2.0 pyproject-hooks==1.2.0
# via build # via build
tomli==2.2.1 tomli==2.2.1
# via build # via build
typing-extensions==4.12.2 typing-extensions==4.13.2
# via delocate # via delocate
virtualenv==20.29.3 virtualenv==20.30.0
# via -r cibuildwheel/resources/constraints.in # via -r cibuildwheel/resources/constraints.in
zipp==3.21.0 zipp==3.21.0
# via importlib-metadata # via importlib-metadata
@@ -8,21 +8,21 @@ delocate==0.13.0
# via -r cibuildwheel/resources/constraints.in # via -r cibuildwheel/resources/constraints.in
distlib==0.3.9 distlib==0.3.9
# via virtualenv # via virtualenv
filelock==3.17.0 filelock==3.18.0
# via virtualenv # via virtualenv
macholib==1.16.3 macholib==1.16.3
# via delocate # via delocate
packaging==24.2 packaging==25.0
# via # via
# build # build
# delocate # delocate
pip==25.0.1 pip==25.0.1
# via -r cibuildwheel/resources/constraints.in # via -r cibuildwheel/resources/constraints.in
platformdirs==4.3.6 platformdirs==4.3.7
# via virtualenv # via virtualenv
pyproject-hooks==1.2.0 pyproject-hooks==1.2.0
# via build # via build
typing-extensions==4.12.2 typing-extensions==4.13.2
# via delocate # via delocate
virtualenv==20.29.3 virtualenv==20.30.0
# via -r cibuildwheel/resources/constraints.in # via -r cibuildwheel/resources/constraints.in
@@ -8,21 +8,21 @@ delocate==0.13.0
# via -r cibuildwheel/resources/constraints.in # via -r cibuildwheel/resources/constraints.in
distlib==0.3.9 distlib==0.3.9
# via virtualenv # via virtualenv
filelock==3.17.0 filelock==3.18.0
# via virtualenv # via virtualenv
macholib==1.16.3 macholib==1.16.3
# via delocate # via delocate
packaging==24.2 packaging==25.0
# via # via
# build # build
# delocate # delocate
pip==25.0.1 pip==25.0.1
# via -r cibuildwheel/resources/constraints.in # via -r cibuildwheel/resources/constraints.in
platformdirs==4.3.6 platformdirs==4.3.7
# via virtualenv # via virtualenv
pyproject-hooks==1.2.0 pyproject-hooks==1.2.0
# via build # via build
typing-extensions==4.12.2 typing-extensions==4.13.2
# via delocate # via delocate
virtualenv==20.29.3 virtualenv==20.30.0
# via -r cibuildwheel/resources/constraints.in # via -r cibuildwheel/resources/constraints.in
@@ -8,21 +8,21 @@ delocate==0.13.0
# via -r cibuildwheel/resources/constraints.in # via -r cibuildwheel/resources/constraints.in
distlib==0.3.9 distlib==0.3.9
# via virtualenv # via virtualenv
filelock==3.17.0 filelock==3.18.0
# via virtualenv # via virtualenv
macholib==1.16.3 macholib==1.16.3
# via delocate # via delocate
packaging==24.2 packaging==25.0
# via # via
# build # build
# delocate # delocate
pip==25.0.1 pip==25.0.1
# via -r cibuildwheel/resources/constraints.in # via -r cibuildwheel/resources/constraints.in
platformdirs==4.3.6 platformdirs==4.3.7
# via virtualenv # via virtualenv
pyproject-hooks==1.2.0 pyproject-hooks==1.2.0
# via build # via build
typing-extensions==4.12.2 typing-extensions==4.13.2
# via delocate # via delocate
virtualenv==20.29.3 virtualenv==20.30.0
# via -r cibuildwheel/resources/constraints.in # via -r cibuildwheel/resources/constraints.in
@@ -14,7 +14,7 @@ importlib-metadata==8.5.0
# via build # via build
macholib==1.16.3 macholib==1.16.3
# via delocate # via delocate
packaging==24.2 packaging==25.0
# via # via
# build # build
# delocate # delocate
@@ -26,9 +26,9 @@ pyproject-hooks==1.2.0
# via build # via build
tomli==2.2.1 tomli==2.2.1
# via build # via build
typing-extensions==4.12.2 typing-extensions==4.13.2
# via delocate # via delocate
virtualenv==20.29.3 virtualenv==20.30.0
# via -r cibuildwheel/resources/constraints.in # via -r cibuildwheel/resources/constraints.in
zipp==3.20.2 zipp==3.20.2
# via importlib-metadata # via importlib-metadata
@@ -8,27 +8,27 @@ delocate==0.13.0
# via -r cibuildwheel/resources/constraints.in # via -r cibuildwheel/resources/constraints.in
distlib==0.3.9 distlib==0.3.9
# via virtualenv # via virtualenv
filelock==3.17.0 filelock==3.18.0
# via virtualenv # via virtualenv
importlib-metadata==8.6.1 importlib-metadata==8.6.1
# via build # via build
macholib==1.16.3 macholib==1.16.3
# via delocate # via delocate
packaging==24.2 packaging==25.0
# via # via
# build # build
# delocate # delocate
pip==25.0.1 pip==25.0.1
# via -r cibuildwheel/resources/constraints.in # via -r cibuildwheel/resources/constraints.in
platformdirs==4.3.6 platformdirs==4.3.7
# via virtualenv # via virtualenv
pyproject-hooks==1.2.0 pyproject-hooks==1.2.0
# via build # via build
tomli==2.2.1 tomli==2.2.1
# via build # via build
typing-extensions==4.12.2 typing-extensions==4.13.2
# via delocate # via delocate
virtualenv==20.29.3 virtualenv==20.30.0
# via -r cibuildwheel/resources/constraints.in # via -r cibuildwheel/resources/constraints.in
zipp==3.21.0 zipp==3.21.0
# via importlib-metadata # via importlib-metadata
+5 -5
View File
@@ -8,21 +8,21 @@ delocate==0.13.0
# via -r cibuildwheel/resources/constraints.in # via -r cibuildwheel/resources/constraints.in
distlib==0.3.9 distlib==0.3.9
# via virtualenv # via virtualenv
filelock==3.17.0 filelock==3.18.0
# via virtualenv # via virtualenv
macholib==1.16.3 macholib==1.16.3
# via delocate # via delocate
packaging==24.2 packaging==25.0
# via # via
# build # build
# delocate # delocate
pip==25.0.1 pip==25.0.1
# via -r cibuildwheel/resources/constraints.in # via -r cibuildwheel/resources/constraints.in
platformdirs==4.3.6 platformdirs==4.3.7
# via virtualenv # via virtualenv
pyproject-hooks==1.2.0 pyproject-hooks==1.2.0
# via build # via build
typing-extensions==4.12.2 typing-extensions==4.13.2
# via delocate # via delocate
virtualenv==20.29.3 virtualenv==20.30.0
# via -r cibuildwheel/resources/constraints.in # via -r cibuildwheel/resources/constraints.in
+1 -1
View File
@@ -1,3 +1,3 @@
url = "https://nodejs.org/dist/" url = "https://nodejs.org/dist/"
v22 = "v22.14.0" v22 = "v22.14.0"
v20 = "v20.18.3" v20 = "v20.19.0"
+21 -21
View File
@@ -1,58 +1,58 @@
[x86_64] [x86_64]
manylinux1 = quay.io/pypa/manylinux1_x86_64:2024-04-29-76807b8 manylinux1 = quay.io/pypa/manylinux1_x86_64:2024-04-29-76807b8
manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2022-08-05-4535177 manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2022-08-05-4535177
manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2025.03.09-1 manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2025.04.19-1
manylinux_2_24 = quay.io/pypa/manylinux_2_24_x86_64:2022-12-26-0d38463 manylinux_2_24 = quay.io/pypa/manylinux_2_24_x86_64:2022-12-26-0d38463
manylinux_2_28 = quay.io/pypa/manylinux_2_28_x86_64:2025.03.09-1 manylinux_2_28 = quay.io/pypa/manylinux_2_28_x86_64:2025.04.19-1
musllinux_1_1 = quay.io/pypa/musllinux_1_1_x86_64:2024.10.26-1 musllinux_1_1 = quay.io/pypa/musllinux_1_1_x86_64:2024.10.26-1
musllinux_1_2 = quay.io/pypa/musllinux_1_2_x86_64:2025.03.09-1 musllinux_1_2 = quay.io/pypa/musllinux_1_2_x86_64:2025.04.19-1
[i686] [i686]
manylinux1 = quay.io/pypa/manylinux1_i686:2024-04-29-76807b8 manylinux1 = quay.io/pypa/manylinux1_i686:2024-04-29-76807b8
manylinux2010 = quay.io/pypa/manylinux2010_i686:2022-08-05-4535177 manylinux2010 = quay.io/pypa/manylinux2010_i686:2022-08-05-4535177
manylinux2014 = quay.io/pypa/manylinux2014_i686:2025.03.09-1 manylinux2014 = quay.io/pypa/manylinux2014_i686:2025.04.19-1
manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2022-12-26-0d38463 manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2022-12-26-0d38463
musllinux_1_1 = quay.io/pypa/musllinux_1_1_i686:2024.10.26-1 musllinux_1_1 = quay.io/pypa/musllinux_1_1_i686:2024.10.26-1
musllinux_1_2 = quay.io/pypa/musllinux_1_2_i686:2025.03.09-1 musllinux_1_2 = quay.io/pypa/musllinux_1_2_i686:2025.04.19-1
[pypy_x86_64] [pypy_x86_64]
manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2022-08-05-4535177 manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2022-08-05-4535177
manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2025.03.09-1 manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2025.04.19-1
manylinux_2_24 = quay.io/pypa/manylinux_2_24_x86_64:2022-12-26-0d38463 manylinux_2_24 = quay.io/pypa/manylinux_2_24_x86_64:2022-12-26-0d38463
manylinux_2_28 = quay.io/pypa/manylinux_2_28_x86_64:2025.03.09-1 manylinux_2_28 = quay.io/pypa/manylinux_2_28_x86_64:2025.04.19-1
[pypy_i686] [pypy_i686]
manylinux2010 = quay.io/pypa/manylinux2010_i686:2022-08-05-4535177 manylinux2010 = quay.io/pypa/manylinux2010_i686:2022-08-05-4535177
manylinux2014 = quay.io/pypa/manylinux2014_i686:2025.03.09-1 manylinux2014 = quay.io/pypa/manylinux2014_i686:2025.04.19-1
manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2022-12-26-0d38463 manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2022-12-26-0d38463
[aarch64] [aarch64]
manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2025.03.09-1 manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2025.04.19-1
manylinux_2_24 = quay.io/pypa/manylinux_2_24_aarch64:2022-12-26-0d38463 manylinux_2_24 = quay.io/pypa/manylinux_2_24_aarch64:2022-12-26-0d38463
manylinux_2_28 = quay.io/pypa/manylinux_2_28_aarch64:2025.03.09-1 manylinux_2_28 = quay.io/pypa/manylinux_2_28_aarch64:2025.04.19-1
musllinux_1_1 = quay.io/pypa/musllinux_1_1_aarch64:2024.10.26-1 musllinux_1_1 = quay.io/pypa/musllinux_1_1_aarch64:2024.10.26-1
musllinux_1_2 = quay.io/pypa/musllinux_1_2_aarch64:2025.03.09-1 musllinux_1_2 = quay.io/pypa/musllinux_1_2_aarch64:2025.04.19-1
[ppc64le] [ppc64le]
manylinux2014 = quay.io/pypa/manylinux2014_ppc64le:2025.03.09-1 manylinux2014 = quay.io/pypa/manylinux2014_ppc64le:2025.04.19-1
manylinux_2_24 = quay.io/pypa/manylinux_2_24_ppc64le:2022-12-26-0d38463 manylinux_2_24 = quay.io/pypa/manylinux_2_24_ppc64le:2022-12-26-0d38463
manylinux_2_28 = quay.io/pypa/manylinux_2_28_ppc64le:2025.03.09-1 manylinux_2_28 = quay.io/pypa/manylinux_2_28_ppc64le:2025.04.19-1
musllinux_1_1 = quay.io/pypa/musllinux_1_1_ppc64le:2024.10.26-1 musllinux_1_1 = quay.io/pypa/musllinux_1_1_ppc64le:2024.10.26-1
musllinux_1_2 = quay.io/pypa/musllinux_1_2_ppc64le:2025.03.09-1 musllinux_1_2 = quay.io/pypa/musllinux_1_2_ppc64le:2025.04.19-1
[s390x] [s390x]
manylinux2014 = quay.io/pypa/manylinux2014_s390x:2025.03.09-1 manylinux2014 = quay.io/pypa/manylinux2014_s390x:2025.04.19-1
manylinux_2_24 = quay.io/pypa/manylinux_2_24_s390x:2022-12-26-0d38463 manylinux_2_24 = quay.io/pypa/manylinux_2_24_s390x:2022-12-26-0d38463
manylinux_2_28 = quay.io/pypa/manylinux_2_28_s390x:2025.03.09-1 manylinux_2_28 = quay.io/pypa/manylinux_2_28_s390x:2025.04.19-1
musllinux_1_1 = quay.io/pypa/musllinux_1_1_s390x:2024.10.26-1 musllinux_1_1 = quay.io/pypa/musllinux_1_1_s390x:2024.10.26-1
musllinux_1_2 = quay.io/pypa/musllinux_1_2_s390x:2025.03.09-1 musllinux_1_2 = quay.io/pypa/musllinux_1_2_s390x:2025.04.19-1
[pypy_aarch64] [pypy_aarch64]
manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2025.03.09-1 manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2025.04.19-1
manylinux_2_24 = quay.io/pypa/manylinux_2_24_aarch64:2022-12-26-0d38463 manylinux_2_24 = quay.io/pypa/manylinux_2_24_aarch64:2022-12-26-0d38463
manylinux_2_28 = quay.io/pypa/manylinux_2_28_aarch64:2025.03.09-1 manylinux_2_28 = quay.io/pypa/manylinux_2_28_aarch64:2025.04.19-1
[armv7l] [armv7l]
manylinux_2_31 = quay.io/pypa/manylinux_2_31_armv7l:2025.03.09-1 manylinux_2_31 = quay.io/pypa/manylinux_2_31_armv7l:2025.04.19-1
musllinux_1_2 = quay.io/pypa/musllinux_1_2_armv7l:2025.03.09-1 musllinux_1_2 = quay.io/pypa/musllinux_1_2_armv7l:2025.04.19-1
+1 -1
View File
@@ -1,2 +1,2 @@
py36 = { version = "20.21.1", url = "https://github.com/pypa/get-virtualenv/blob/20.21.1/public/virtualenv.pyz?raw=true" } py36 = { version = "20.21.1", url = "https://github.com/pypa/get-virtualenv/blob/20.21.1/public/virtualenv.pyz?raw=true" }
default = { version = "20.29.3", url = "https://github.com/pypa/get-virtualenv/blob/20.29.3/public/virtualenv.pyz?raw=true" } default = { version = "20.30.0", url = "https://github.com/pypa/get-virtualenv/blob/20.30.0/public/virtualenv.pyz?raw=true" }
+4
View File
@@ -705,6 +705,10 @@ def virtualenv(
dependency_constraint_flags are ignored since nothing is installed in the dependency_constraint_flags are ignored since nothing is installed in the
venv. Otherwise, pip is installed, and setuptools + wheel if Python < 3.12. venv. Otherwise, pip is installed, and setuptools + wheel if Python < 3.12.
""" """
# virtualenv may fail if this is a symlink.
python = python.resolve()
assert python.exists() assert python.exists()
if use_uv: if use_uv:
+13
View File
@@ -4,6 +4,19 @@ title: Changelog
# Changelog # Changelog
### v2.23.3
_26 April 2025_
- 🛠 Dependency updates, including Python 3.13.3 (#2371)
### v2.23.2
_24 March 2025_
- 🐛 Workaround an issue with pyodide builds when running cibuildwheel with a Python that was installed via UV (#2328 via #2331)
- 🛠 Dependency updates, including a manylinux update that fixes an ['undefined symbol' error](https://github.com/pypa/manylinux/issues/1760) in gcc-toolset (#2334)
### v2.23.1 ### v2.23.1
_15 March 2025_ _15 March 2025_
+3 -3
View File
@@ -142,7 +142,7 @@ There are two suggested methods for keeping cibuildwheel up to date that instead
If you use GitHub Actions for builds, you can use cibuildwheel as an action: If you use GitHub Actions for builds, you can use cibuildwheel as an action:
```yaml ```yaml
uses: pypa/cibuildwheel@v2.23.1 uses: pypa/cibuildwheel@v2.23.3
``` ```
This is a composite step that just runs cibuildwheel using pipx. You can set command-line options as `with:` parameters, and use `env:` as normal. This is a composite step that just runs cibuildwheel using pipx. You can set command-line options as `with:` parameters, and use `env:` as normal.
@@ -164,7 +164,7 @@ The second option, and the only one that supports other CI systems, is using a `
```bash ```bash
# requirements-cibw.txt # requirements-cibw.txt
cibuildwheel==2.23.1 cibuildwheel==2.23.3
``` ```
Then your install step would have `python -m pip install -r requirements-cibw.txt` in it. Your `.github/dependabot.yml` file could look like this: Then your install step would have `python -m pip install -r requirements-cibw.txt` in it. Your `.github/dependabot.yml` file could look like this:
@@ -328,7 +328,7 @@ Solutions to this vary, but the simplest is to use pipx:
# most runners have pipx preinstalled, but in case you don't # most runners have pipx preinstalled, but in case you don't
python3 -m pip install pipx python3 -m pip install pipx
pipx run cibuildwheel==2.23.1 --output-dir wheelhouse pipx run cibuildwheel==2.23.3 --output-dir wheelhouse
pipx run twine upload wheelhouse/*.whl pipx run twine upload wheelhouse/*.whl
``` ```
+2 -2
View File
@@ -161,7 +161,7 @@ To build Linux, Mac, and Windows wheels using GitHub Actions, create a `.github/
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Build wheels - name: Build wheels
run: pipx run cibuildwheel==2.23.1 run: pipx run cibuildwheel==2.23.3
- uses: actions/upload-artifact@v4 - uses: actions/upload-artifact@v4
with: with:
@@ -198,7 +198,7 @@ To build Linux, Mac, and Windows wheels using GitHub Actions, create a `.github/
- uses: actions/setup-python@v5 - uses: actions/setup-python@v5
- name: Install cibuildwheel - name: Install cibuildwheel
run: python -m pip install cibuildwheel==2.23.1 run: python -m pip install cibuildwheel==2.23.3
- name: Build wheels - name: Build wheels
run: python -m cibuildwheel --output-dir wheelhouse run: python -m cibuildwheel --output-dir wheelhouse
+1 -1
View File
@@ -9,7 +9,7 @@ environment:
stack: python 3.12 stack: python 3.12
install: python -m pip install cibuildwheel==2.23.1 install: python -m pip install cibuildwheel==2.23.3
build_script: python -m cibuildwheel --output-dir wheelhouse build_script: python -m cibuildwheel --output-dir wheelhouse
+3 -3
View File
@@ -6,7 +6,7 @@ jobs:
- bash: | - bash: |
set -o errexit set -o errexit
python3 -m pip install --upgrade pip python3 -m pip install --upgrade pip
pip3 install cibuildwheel==2.23.1 pip3 install cibuildwheel==2.23.3
displayName: Install dependencies displayName: Install dependencies
- bash: cibuildwheel --output-dir wheelhouse . - bash: cibuildwheel --output-dir wheelhouse .
displayName: Build wheels displayName: Build wheels
@@ -20,7 +20,7 @@ jobs:
- bash: | - bash: |
set -o errexit set -o errexit
python3 -m pip install --upgrade pip python3 -m pip install --upgrade pip
python3 -m pip install cibuildwheel==2.23.1 python3 -m pip install cibuildwheel==2.23.3
displayName: Install dependencies displayName: Install dependencies
- bash: cibuildwheel --output-dir wheelhouse . - bash: cibuildwheel --output-dir wheelhouse .
displayName: Build wheels displayName: Build wheels
@@ -34,7 +34,7 @@ jobs:
- bash: | - bash: |
set -o errexit set -o errexit
python -m pip install --upgrade pip python -m pip install --upgrade pip
pip install cibuildwheel==2.23.1 pip install cibuildwheel==2.23.3
displayName: Install dependencies displayName: Install dependencies
- bash: cibuildwheel --output-dir wheelhouse . - bash: cibuildwheel --output-dir wheelhouse .
displayName: Build wheels displayName: Build wheels
+3 -3
View File
@@ -11,7 +11,7 @@ jobs:
- run: - run:
name: Build the Linux wheels. name: Build the Linux wheels.
command: | command: |
python3 -m pip install --user cibuildwheel==2.23.1 python3 -m pip install --user cibuildwheel==2.23.3
cibuildwheel --output-dir wheelhouse cibuildwheel --output-dir wheelhouse
- store_artifacts: - store_artifacts:
path: wheelhouse/ path: wheelhouse/
@@ -28,7 +28,7 @@ jobs:
- run: - run:
name: Build the Linux aarch64 wheels. name: Build the Linux aarch64 wheels.
command: | command: |
python3 -m pip install --user cibuildwheel==2.23.1 python3 -m pip install --user cibuildwheel==2.23.3
python3 -m cibuildwheel --output-dir wheelhouse python3 -m cibuildwheel --output-dir wheelhouse
- store_artifacts: - store_artifacts:
path: wheelhouse/ path: wheelhouse/
@@ -44,7 +44,7 @@ jobs:
name: Build the OS X wheels. name: Build the OS X wheels.
command: | command: |
sudo softwareupdate --install-rosetta --agree-to-license # for python<=3.8 or x86_64/universal2 tests sudo softwareupdate --install-rosetta --agree-to-license # for python<=3.8 or x86_64/universal2 tests
pip3 install cibuildwheel==2.23.1 pip3 install cibuildwheel==2.23.3
cibuildwheel --output-dir wheelhouse cibuildwheel --output-dir wheelhouse
- store_artifacts: - store_artifacts:
path: wheelhouse/ path: wheelhouse/
+1 -1
View File
@@ -1,6 +1,6 @@
build_and_store_wheels: &BUILD_AND_STORE_WHEELS build_and_store_wheels: &BUILD_AND_STORE_WHEELS
install_cibuildwheel_script: install_cibuildwheel_script:
- python -m pip install cibuildwheel==2.23.1 - python -m pip install cibuildwheel==2.23.3
run_cibuildwheel_script: run_cibuildwheel_script:
- cibuildwheel - cibuildwheel
wheels_artifacts: wheels_artifacts:
+1 -1
View File
@@ -1,6 +1,6 @@
build_and_store_wheels: &BUILD_AND_STORE_WHEELS build_and_store_wheels: &BUILD_AND_STORE_WHEELS
install_cibuildwheel_script: install_cibuildwheel_script:
- python -m pip install cibuildwheel==2.23.1 - python -m pip install cibuildwheel==2.23.3
run_cibuildwheel_script: run_cibuildwheel_script:
- cibuildwheel - cibuildwheel
wheels_artifacts: wheels_artifacts:
+1 -1
View File
@@ -23,7 +23,7 @@ jobs:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Build wheels - name: Build wheels
uses: pypa/cibuildwheel@v2.23.1 uses: pypa/cibuildwheel@v2.23.3
- uses: actions/upload-artifact@v4 - uses: actions/upload-artifact@v4
with: with:
+1 -1
View File
@@ -15,7 +15,7 @@ jobs:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Build wheels - name: Build wheels
uses: pypa/cibuildwheel@v2.23.1 uses: pypa/cibuildwheel@v2.23.3
# env: # env:
# CIBW_SOME_OPTION: value # CIBW_SOME_OPTION: value
# ... # ...
+1 -1
View File
@@ -21,7 +21,7 @@ jobs:
platforms: all platforms: all
- name: Build wheels - name: Build wheels
uses: pypa/cibuildwheel@v2.23.1 uses: pypa/cibuildwheel@v2.23.3
env: env:
# configure cibuildwheel on Linux to build native archs ('auto'), # configure cibuildwheel on Linux to build native archs ('auto'),
# and to split the remaining architectures between the x86_64 and # and to split the remaining architectures between the x86_64 and
+3 -3
View File
@@ -12,7 +12,7 @@ linux:
DOCKER_TLS_CERTDIR: "" DOCKER_TLS_CERTDIR: ""
script: script:
- curl -sSL https://get.docker.com/ | sh - curl -sSL https://get.docker.com/ | sh
- python -m pip install cibuildwheel==2.23.1 - python -m pip install cibuildwheel==2.23.3
- cibuildwheel --output-dir wheelhouse - cibuildwheel --output-dir wheelhouse
artifacts: artifacts:
paths: paths:
@@ -23,7 +23,7 @@ windows:
before_script: before_script:
- choco install python -y --version 3.12.4 - choco install python -y --version 3.12.4
- choco install git.install -y - choco install git.install -y
- py -m pip install cibuildwheel==2.23.1 - py -m pip install cibuildwheel==2.23.3
script: script:
- py -m cibuildwheel --output-dir wheelhouse --platform windows - py -m cibuildwheel --output-dir wheelhouse --platform windows
artifacts: artifacts:
@@ -35,7 +35,7 @@ windows:
macos: macos:
image: macos-14-xcode-15 image: macos-14-xcode-15
before_script: before_script:
- python3 -m pip install cibuildwheel==2.23.1 - python3 -m pip install cibuildwheel==2.23.3
script: script:
- python3 -m cibuildwheel --output-dir wheelhouse - python3 -m cibuildwheel --output-dir wheelhouse
artifacts: artifacts:
+1 -1
View File
@@ -14,7 +14,7 @@ linux:
- curl -sSL https://get.docker.com/ | sh - curl -sSL https://get.docker.com/ | sh
# Warning: This is extremely slow, be careful with how many wheels you build # Warning: This is extremely slow, be careful with how many wheels you build
- docker run --rm --privileged multiarch/qemu-user-static --reset -p yes - docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
- python -m pip install cibuildwheel==2.23.1 - python -m pip install cibuildwheel==2.23.3
# Assuming your CI runner's default architecture is x86_64... # Assuming your CI runner's default architecture is x86_64...
- cibuildwheel --output-dir wheelhouse --platform linux --archs aarch64 - cibuildwheel --output-dir wheelhouse --platform linux --archs aarch64
artifacts: artifacts:
+1 -1
View File
@@ -20,7 +20,7 @@ jobs:
- ln -s /c/Python312/python.exe /c/Python312/python3.exe - ln -s /c/Python312/python.exe /c/Python312/python3.exe
install: install:
- python3 -m pip install cibuildwheel==2.23.1 - python3 -m pip install cibuildwheel==2.23.3
script: script:
# build the wheels, put them into './dist' # build the wheels, put them into './dist'
+1 -1
View File
@@ -26,7 +26,7 @@ jobs:
- ln -s /c/Python312/python.exe /c/Python312/python3.exe - ln -s /c/Python312/python.exe /c/Python312/python3.exe
install: install:
- python3 -m pip install cibuildwheel==2.23.1 - python3 -m pip install cibuildwheel==2.23.3
script: script:
# build the wheels, put them into './wheelhouse' # build the wheels, put them into './wheelhouse'
+2 -2
View File
@@ -52,7 +52,7 @@ jobs:
- stage: deploy - stage: deploy
name: Build and deploy Linux wheels name: Build and deploy Linux wheels
services: docker services: docker
install: python3 -m pip install cibuildwheel==2.23.1 twine install: python3 -m pip install cibuildwheel==2.23.3 twine
script: python3 -m cibuildwheel --output-dir wheelhouse script: python3 -m cibuildwheel --output-dir wheelhouse
after_success: python3 -m twine upload --skip-existing wheelhouse/*.whl after_success: python3 -m twine upload --skip-existing wheelhouse/*.whl
# Deploy on windows # Deploy on windows
@@ -60,7 +60,7 @@ jobs:
name: Build and deploy Windows wheels name: Build and deploy Windows wheels
os: windows os: windows
language: shell language: shell
install: python3 -m pip install cibuildwheel==2.23.1 twine install: python3 -m pip install cibuildwheel==2.23.3 twine
script: python3 -m cibuildwheel --output-dir wheelhouse script: python3 -m cibuildwheel --output-dir wheelhouse
after_success: python3 -m twine upload --skip-existing wheelhouse/*.whl after_success: python3 -m twine upload --skip-existing wheelhouse/*.whl
+1 -1
View File
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
[project] [project]
name = "cibuildwheel" name = "cibuildwheel"
version = "2.23.1" version = "2.23.3"
description = "Build Python wheels on CI with minimal configuration." description = "Build Python wheels on CI with minimal configuration."
readme = "README.md" readme = "README.md"
license = "BSD-2-Clause" license = "BSD-2-Clause"