diff --git a/cibuildwheel/resources/constraints-pyodide312.txt b/cibuildwheel/resources/constraints-pyodide312.txt index c11c0e5f..ead56062 100644 --- a/cibuildwheel/resources/constraints-pyodide312.txt +++ b/cibuildwheel/resources/constraints-pyodide312.txt @@ -2,7 +2,7 @@ # nox -s update_constraints annotated-types==0.7.0 # via pydantic -anyio==4.11.0 +anyio==4.12.0 # via httpx auditwheel-emscripten==0.2.0 # via pyodide-build @@ -54,7 +54,7 @@ platformdirs==4.5.0 # via # pyodide-build # virtualenv -pydantic==2.12.4 +pydantic==2.12.5 # via # pyodide-build # pyodide-lock @@ -87,8 +87,6 @@ ruamel-yaml-clib==0.2.15 # via ruamel-yaml shellingham==1.5.4 # via typer -sniffio==1.3.1 - # via anyio typer==0.20.0 # via # auditwheel-emscripten diff --git a/cibuildwheel/resources/constraints-pyodide313.txt b/cibuildwheel/resources/constraints-pyodide313.txt index dd7f82b7..d0951759 100644 --- a/cibuildwheel/resources/constraints-pyodide313.txt +++ b/cibuildwheel/resources/constraints-pyodide313.txt @@ -2,7 +2,7 @@ # nox -s update_constraints annotated-types==0.7.0 # via pydantic -anyio==4.11.0 +anyio==4.12.0 # via httpx auditwheel-emscripten==0.2.0 # via pyodide-build @@ -54,7 +54,7 @@ platformdirs==4.5.0 # via # pyodide-build # virtualenv -pydantic==2.12.4 +pydantic==2.12.5 # via # pyodide-build # pyodide-lock @@ -87,8 +87,6 @@ ruamel-yaml-clib==0.2.15 # via ruamel-yaml shellingham==1.5.4 # via typer -sniffio==1.3.1 - # via anyio typer==0.20.0 # via # auditwheel-emscripten diff --git a/cibuildwheel/resources/nodejs.toml b/cibuildwheel/resources/nodejs.toml index 430c1f2b..4385b586 100644 --- a/cibuildwheel/resources/nodejs.toml +++ b/cibuildwheel/resources/nodejs.toml @@ -1,4 +1,4 @@ url = "https://nodejs.org/dist/" v24 = "v24.11.1" v22 = "v22.21.1" -v20 = "v20.19.5" +v20 = "v20.19.6" diff --git a/cibuildwheel/resources/pinned_docker_images.cfg b/cibuildwheel/resources/pinned_docker_images.cfg index 8b3dcdf1..7b80191f 100644 --- a/cibuildwheel/resources/pinned_docker_images.cfg +++ b/cibuildwheel/resources/pinned_docker_images.cfg @@ -1,54 +1,54 @@ [x86_64] -manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2025.11.22-1 -manylinux_2_28 = quay.io/pypa/manylinux_2_28_x86_64:2025.11.22-1 -manylinux_2_34 = quay.io/pypa/manylinux_2_34_x86_64:2025.11.22-1 -musllinux_1_2 = quay.io/pypa/musllinux_1_2_x86_64:2025.11.22-1 +manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2025.11.29-1 +manylinux_2_28 = quay.io/pypa/manylinux_2_28_x86_64:2025.11.29-1 +manylinux_2_34 = quay.io/pypa/manylinux_2_34_x86_64:2025.11.29-1 +musllinux_1_2 = quay.io/pypa/musllinux_1_2_x86_64:2025.11.29-1 [i686] -manylinux2014 = quay.io/pypa/manylinux2014_i686:2025.11.22-1 -manylinux_2_28 = quay.io/pypa/manylinux_2_28_i686:2025.11.22-1 -manylinux_2_34 = quay.io/pypa/manylinux_2_34_i686:2025.11.22-1 -musllinux_1_2 = quay.io/pypa/musllinux_1_2_i686:2025.11.22-1 +manylinux2014 = quay.io/pypa/manylinux2014_i686:2025.11.29-1 +manylinux_2_28 = quay.io/pypa/manylinux_2_28_i686:2025.11.29-1 +manylinux_2_34 = quay.io/pypa/manylinux_2_34_i686:2025.11.29-1 +musllinux_1_2 = quay.io/pypa/musllinux_1_2_i686:2025.11.29-1 [aarch64] -manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2025.11.22-1 -manylinux_2_28 = quay.io/pypa/manylinux_2_28_aarch64:2025.11.22-1 -manylinux_2_34 = quay.io/pypa/manylinux_2_34_aarch64:2025.11.22-1 -musllinux_1_2 = quay.io/pypa/musllinux_1_2_aarch64:2025.11.22-1 +manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2025.11.29-1 +manylinux_2_28 = quay.io/pypa/manylinux_2_28_aarch64:2025.11.29-1 +manylinux_2_34 = quay.io/pypa/manylinux_2_34_aarch64:2025.11.29-1 +musllinux_1_2 = quay.io/pypa/musllinux_1_2_aarch64:2025.11.29-1 [ppc64le] -manylinux2014 = quay.io/pypa/manylinux2014_ppc64le:2025.11.22-1 -manylinux_2_28 = quay.io/pypa/manylinux_2_28_ppc64le:2025.11.22-1 -manylinux_2_34 = quay.io/pypa/manylinux_2_34_ppc64le:2025.11.22-1 -musllinux_1_2 = quay.io/pypa/musllinux_1_2_ppc64le:2025.11.22-1 +manylinux2014 = quay.io/pypa/manylinux2014_ppc64le:2025.11.29-1 +manylinux_2_28 = quay.io/pypa/manylinux_2_28_ppc64le:2025.11.29-1 +manylinux_2_34 = quay.io/pypa/manylinux_2_34_ppc64le:2025.11.29-1 +musllinux_1_2 = quay.io/pypa/musllinux_1_2_ppc64le:2025.11.29-1 [s390x] -manylinux2014 = quay.io/pypa/manylinux2014_s390x:2025.11.22-1 -manylinux_2_28 = quay.io/pypa/manylinux_2_28_s390x:2025.11.22-1 -manylinux_2_34 = quay.io/pypa/manylinux_2_34_s390x:2025.11.22-1 -musllinux_1_2 = quay.io/pypa/musllinux_1_2_s390x:2025.11.22-1 +manylinux2014 = quay.io/pypa/manylinux2014_s390x:2025.11.29-1 +manylinux_2_28 = quay.io/pypa/manylinux_2_28_s390x:2025.11.29-1 +manylinux_2_34 = quay.io/pypa/manylinux_2_34_s390x:2025.11.29-1 +musllinux_1_2 = quay.io/pypa/musllinux_1_2_s390x:2025.11.29-1 [pypy_x86_64] -manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2025.11.22-1 -manylinux_2_28 = quay.io/pypa/manylinux_2_28_x86_64:2025.11.22-1 -manylinux_2_34 = quay.io/pypa/manylinux_2_34_x86_64:2025.11.22-1 +manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2025.11.29-1 +manylinux_2_28 = quay.io/pypa/manylinux_2_28_x86_64:2025.11.29-1 +manylinux_2_34 = quay.io/pypa/manylinux_2_34_x86_64:2025.11.29-1 [pypy_i686] -manylinux2014 = quay.io/pypa/manylinux2014_i686:2025.11.22-1 -manylinux_2_28 = quay.io/pypa/manylinux_2_28_i686:2025.11.22-1 -manylinux_2_34 = quay.io/pypa/manylinux_2_34_i686:2025.11.22-1 +manylinux2014 = quay.io/pypa/manylinux2014_i686:2025.11.29-1 +manylinux_2_28 = quay.io/pypa/manylinux_2_28_i686:2025.11.29-1 +manylinux_2_34 = quay.io/pypa/manylinux_2_34_i686:2025.11.29-1 [pypy_aarch64] -manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2025.11.22-1 -manylinux_2_28 = quay.io/pypa/manylinux_2_28_aarch64:2025.11.22-1 -manylinux_2_34 = quay.io/pypa/manylinux_2_34_aarch64:2025.11.22-1 +manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2025.11.29-1 +manylinux_2_28 = quay.io/pypa/manylinux_2_28_aarch64:2025.11.29-1 +manylinux_2_34 = quay.io/pypa/manylinux_2_34_aarch64:2025.11.29-1 [armv7l] -manylinux_2_31 = quay.io/pypa/manylinux_2_31_armv7l:2025.11.22-1 -manylinux_2_35 = quay.io/pypa/manylinux_2_35_armv7l:2025.11.22-1 -musllinux_1_2 = quay.io/pypa/musllinux_1_2_armv7l:2025.11.22-1 +manylinux_2_31 = quay.io/pypa/manylinux_2_31_armv7l:2025.11.29-1 +manylinux_2_35 = quay.io/pypa/manylinux_2_35_armv7l:2025.11.29-1 +musllinux_1_2 = quay.io/pypa/musllinux_1_2_armv7l:2025.11.29-1 [riscv64] -manylinux_2_39 = quay.io/pypa/manylinux_2_39_riscv64:2025.11.22-1 -musllinux_1_2 = quay.io/pypa/musllinux_1_2_riscv64:2025.11.22-1 +manylinux_2_39 = quay.io/pypa/manylinux_2_39_riscv64:2025.11.29-1 +musllinux_1_2 = quay.io/pypa/musllinux_1_2_riscv64:2025.11.29-1 diff --git a/docs/working-examples.md b/docs/working-examples.md index c4641326..ad064bfe 100644 --- a/docs/working-examples.md +++ b/docs/working-examples.md @@ -47,8 +47,8 @@ title: Working examples | [tinyobjloader][] | ![azurepipelines icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Tiny but powerful single file wavefront obj loader | | [vispy][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Main repository for Vispy | | [coverage.py][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | The coverage tool for Python | -| [Line Profiler][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Line-by-line profiling for Python | | [PyCryptodome][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | A self-contained cryptographic library for Python | +| [Line Profiler][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Line-by-line profiling for Python | | [PyAV][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Pythonic bindings for FFmpeg's libraries. | | [PyYAML][] | ![github icon][] | ![apple icon][] | Canonical source repository for PyYAML | | [pikepdf][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | A Python library for reading and writing PDF, powered by QPDF | @@ -66,20 +66,20 @@ title: Working examples | [google neuroglancer][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | WebGL-based viewer for volumetric data | | [Parselmouth][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | A Python interface to the Praat software package, using pybind11, C++17 and CMake, with the core Praat static library built only once and shared between wheels. | | [AutoPy][] | ![travisci icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Includes a Windows Travis build. | -| [H3-py][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Python bindings for H3, a hierarchical hexagonal geospatial indexing system | | [DeepForest][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | An Efficient, Scalable and Optimized Python Framework for Deep Forest (2021.2.1) | +| [H3-py][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Python bindings for H3, a hierarchical hexagonal geospatial indexing system | | [time-machine][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Time mocking library using only the CPython C API. | | [mosec][] | ![github icon][] | ![linux icon][] ![apple icon][] | A machine learning model serving framework powered by Rust | | [Picologging][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | A high-performance logging library for Python. | -| [pybind11 cmake_example][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Example pybind11 module built with a CMake-based build system | | [markupsafe][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Safely add untrusted strings to HTML/XML markup. | +| [pybind11 cmake_example][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Example pybind11 module built with a CMake-based build system | | [Rtree][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Rtree: spatial index for Python GIS | | [KDEpy][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Kernel Density Estimation in Python | | [dd-trace-py][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Uses custom alternate arch emulation on GitHub | | [tgcalls][] | ![github icon][] | ![apple icon][] ![windows icon][] | Python `pybind11` binding to Telegram's WebRTC library with third party dependencies like `OpenSSL`, `MozJPEG`, `FFmpeg`, etc. | +| [python-rapidjson][] | ![travisci icon][] ![gitlab icon][] | ![windows icon][] ![linux icon][] | Python wrapper around rapidjson | | [sourmash][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Quickly search, compare, and analyze genomic and metagenomic data sets. | | [pybind11 python_example][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Example pybind11 module built with a Python-based build system | -| [python-rapidjson][] | ![travisci icon][] ![gitlab icon][] | ![windows icon][] ![linux icon][] | Python wrapper around rapidjson | | [abess][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | A fast best-subset selection library. It uses cibuildwheel to build a large project with C++ extensions. | | [python-snappy][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Python bindings for the snappy google library | | [jq.py][] | ![travisci icon][] | ![apple icon][] ![linux icon][] | Python bindings for jq | @@ -158,8 +158,8 @@ title: Working examples [tinyobjloader]: https://github.com/tinyobjloader/tinyobjloader [vispy]: https://github.com/vispy/vispy [coverage.py]: https://github.com/nedbat/coveragepy -[Line Profiler]: https://github.com/pyutils/line_profiler [PyCryptodome]: https://github.com/Legrandin/pycryptodome +[Line Profiler]: https://github.com/pyutils/line_profiler [PyAV]: https://github.com/PyAV-Org/PyAV [PyYAML]: https://github.com/yaml/pyyaml [pikepdf]: https://github.com/pikepdf/pikepdf @@ -177,20 +177,20 @@ title: Working examples [google neuroglancer]: https://github.com/google/neuroglancer [Parselmouth]: https://github.com/YannickJadoul/Parselmouth [AutoPy]: https://github.com/autopilot-rs/autopy -[H3-py]: https://github.com/uber/h3-py [DeepForest]: https://github.com/LAMDA-NJU/Deep-Forest +[H3-py]: https://github.com/uber/h3-py [time-machine]: https://github.com/adamchainz/time-machine [mosec]: https://github.com/mosecorg/mosec [Picologging]: https://github.com/microsoft/picologging -[pybind11 cmake_example]: https://github.com/pybind/cmake_example [markupsafe]: https://github.com/pallets/markupsafe +[pybind11 cmake_example]: https://github.com/pybind/cmake_example [Rtree]: https://github.com/Toblerity/rtree [KDEpy]: https://github.com/tommyod/KDEpy [dd-trace-py]: https://github.com/DataDog/dd-trace-py [tgcalls]: https://github.com/MarshalX/tgcalls +[python-rapidjson]: https://github.com/python-rapidjson/python-rapidjson [sourmash]: https://github.com/sourmash-bio/sourmash [pybind11 python_example]: https://github.com/pybind/python_example -[python-rapidjson]: https://github.com/python-rapidjson/python-rapidjson [abess]: https://github.com/abess-team/abess [python-snappy]: https://github.com/intake/python-snappy [jq.py]: https://github.com/mwilliamson/jq.py