diff --git a/cibuildwheel/resources/constraints-pyodide312.txt b/cibuildwheel/resources/constraints-pyodide312.txt index bfe80a4a..5e1c9ca5 100644 --- a/cibuildwheel/resources/constraints-pyodide312.txt +++ b/cibuildwheel/resources/constraints-pyodide312.txt @@ -18,7 +18,9 @@ certifi==2025.4.26 charset-normalizer==3.4.2 # via requests click==8.1.8 - # via typer + # via + # -r .nox/update_constraints/tmp/constraints-pyodide.in + # typer cmake==4.0.2 # via pyodide-build distlib==0.3.9 diff --git a/docs/working-examples.md b/docs/working-examples.md index 9f254988..825b516e 100644 --- a/docs/working-examples.md +++ b/docs/working-examples.md @@ -28,6 +28,7 @@ title: Working examples | [PyGame][] | ![github icon][] | ![apple icon][] ![linux icon][] | 🐍🎮 pygame (the library) is a Free and Open Source python programming language library for making multimedia applications like games built on top of the excellent SDL library. C, Python, Native, OpenGL. | | [asyncpg][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | A fast PostgreSQL Database Client Library for Python/asyncio. | | [cmake][] | ![github icon][] ![travisci icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Multitagged binary builds for all supported platforms, using cibw 2 config configuration. | +| [pyinstrument][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Python profiler with a C extension. No external dependencies. | | [scikit-image][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Image processing library. Uses cibuildwheel to build and test a project that uses Cython with platform-native code. | | [PyOxidizer][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | A modern Python application packaging and distribution tool | | [twisted-iocpsupport][] | ![github icon][] | ![windows icon][] | A submodule of Twisted that hooks into native C APIs using Cython. | @@ -98,14 +99,14 @@ title: Working examples | [boost-histogram][] | ![github icon][] ![travisci icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Supports full range of wheels, including PyPy and alternate archs. | | [Python-WebRTC][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | a Python extension that provides bindings to WebRTC M92 | | [Imagecodecs (fork)][] | ![azurepipelines icon][] | ![apple icon][] ![linux icon][] | Over 20 external dependencies in compiled libraries, custom docker image, `libomp`, `openblas` and `install_name_tool` for macOS. | -| [pybind11 scikit_build_example][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | An example combining scikit-build and pybind11 | | [fathon][] | ![travisci icon][] | ![apple icon][] ![linux icon][] | python package for DFA (Detrended Fluctuation Analysis) and related algorithms | +| [pybind11 scikit_build_example][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | An example combining scikit-build and pybind11 | | [Arbor][] | ![github icon][] | ![apple icon][] ![linux icon][] | Arbor is a multi-compartment neuron simulation library; compatible with next-generation accelerators; best-practices applied to research software; focused on community-driven development. Includes a [small script](https://github.com/arbor-sim/arbor/blob/master/scripts/patchwheel.py) patching `rpath` in bundled libraries. | | [clang-format][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Scikit-build wrapper around LLVM's CMake, all platforms, generic wheels. | | [polaroid][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Full range of wheels for setuptools rust, with auto release and PyPI deploy. | -| [cf-units][] | ![github icon][] | ![apple icon][] ![linux icon][] | Units of measure as required by the Climate and Forecast (CF) Metadata Conventions | | [etebase-py][] | ![travisci icon][] | ![linux icon][] | Python bindings to a Rust library using `setuptools-rust`, and `sccache` for improved speed. | | [ninja][] | ![github icon][] ![travisci icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Multitagged binary builds for all supported platforms, using cibw 2 config configuration. | +| [cf-units][] | ![github icon][] | ![apple icon][] ![linux icon][] | Units of measure as required by the Climate and Forecast (CF) Metadata Conventions | | [numpythia][] | ![github icon][] | ![apple icon][] ![linux icon][] | The interface between PYTHIA and NumPy | | [pyjet][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | The interface between FastJet and NumPy | | [ril][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | A python binding to Rust Imaging library using maturin and Pyo3, utilizes Github Action cache to improve speed. Builds abi3 wheels. | @@ -115,7 +116,6 @@ title: Working examples | [CorrectionLib][] | ![github icon][] | ![apple icon][] ![linux icon][] | Structured JSON powered correction library for HEP, designed for the CMS experiment at CERN. | | [xmlstarlet][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Python 3.6+ CFFI bindings with true MSVC build. | | [werpy][] | ![github icon][] | ![windows icon][] ![linux icon][] ![apple icon][] | An ultra-fast python package using optimized dynamic programming to compute the Word Error Rate (WER). | -| [pyinstrument_cext][] | ![travisci icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | A simple C extension, without external dependencies | | [pybind11 cross build example][] | ![github icon][] ![gitlab icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Same as pybind11 cmake_example but used to demo Linux ARM + Windows + macOS builds on GitLab | [scikit-learn]: https://github.com/scikit-learn/scikit-learn @@ -138,6 +138,7 @@ title: Working examples [PyGame]: https://github.com/pygame/pygame [asyncpg]: https://github.com/MagicStack/asyncpg [cmake]: https://github.com/scikit-build/cmake-python-distributions +[pyinstrument]: https://github.com/joerick/pyinstrument [scikit-image]: https://github.com/scikit-image/scikit-image [PyOxidizer]: https://github.com/indygreg/PyOxidizer [twisted-iocpsupport]: https://github.com/twisted/twisted-iocpsupport @@ -208,14 +209,14 @@ title: Working examples [boost-histogram]: https://github.com/scikit-hep/boost-histogram [Python-WebRTC]: https://github.com/MarshalX/python-webrtc [Imagecodecs (fork)]: https://github.com/czaki/imagecodecs_build -[pybind11 scikit_build_example]: https://github.com/pybind/scikit_build_example [fathon]: https://github.com/stfbnc/fathon +[pybind11 scikit_build_example]: https://github.com/pybind/scikit_build_example [Arbor]: https://github.com/arbor-sim/arbor [clang-format]: https://github.com/ssciwr/clang-format-wheel [polaroid]: https://github.com/daggy1234/polaroid -[cf-units]: https://github.com/SciTools/cf-units [etebase-py]: https://github.com/etesync/etebase-py [ninja]: https://github.com/scikit-build/ninja-python-distributions +[cf-units]: https://github.com/SciTools/cf-units [numpythia]: https://github.com/scikit-hep/numpythia [pyjet]: https://github.com/scikit-hep/pyjet [ril]: https://github.com/Cryptex-github/ril-py @@ -225,7 +226,6 @@ title: Working examples [CorrectionLib]: https://github.com/cms-nanoAOD/correctionlib [xmlstarlet]: https://github.com/dimitern/xmlstarlet [werpy]: https://github.com/analyticsinmotion/werpy -[pyinstrument_cext]: https://github.com/joerick/pyinstrument_cext [pybind11 cross build example]: https://github.com/wbarnha/pybind_cmake_example_crossbuild [github icon]: data/readme_icons/github.svg diff --git a/noxfile.py b/noxfile.py index b018a952..ba3ce2ee 100755 --- a/noxfile.py +++ b/noxfile.py @@ -103,7 +103,9 @@ def update_constraints(session: nox.Session) -> None: pyodide_build_version = pyodide["pyodide_build_version"] output_file = resources / f"constraints-pyodide{python_version.replace('.', '')}.txt" tmp_file = Path(session.create_tmp()) / "constraints-pyodide.in" - tmp_file.write_text(f"pip\nbuild[virtualenv]\npyodide-build=={pyodide_build_version}") + tmp_file.write_text( + f"pip\nbuild[virtualenv]\npyodide-build=={pyodide_build_version}\nclick<8.2" + ) session.run( "uv", "pip", diff --git a/test/test_build_frontend_args.py b/test/test_build_frontend_args.py index b508728e..bffdd14f 100644 --- a/test/test_build_frontend_args.py +++ b/test/test_build_frontend_args.py @@ -22,6 +22,7 @@ def test_build_frontend_args(tmp_path, capfd, frontend_name): add_env = {"CIBW_BUILD_FRONTEND": f"{frontend_name}; args: -h"} if utils.platform == "pyodide": add_env["TERM"] = "dumb" # disable color / style + add_env["NO_COLOR"] = "1" with pytest.raises(subprocess.CalledProcessError): utils.cibuildwheel_run(project_dir, add_env=add_env, single_python=True) diff --git a/test/test_ssl.py b/test/test_ssl.py index 5283a59d..89ad4b80 100644 --- a/test/test_ssl.py +++ b/test/test_ssl.py @@ -10,7 +10,7 @@ project_with_ssl_tests = test_projects.new_c_project( from urllib.request import urlopen context = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2) - data = urlopen("https://www.nist.gov", context=context) + data = urlopen("https://tls-v1-2.badssl.com", context=context) data = urlopen("https://raw.githubusercontent.com/pypa/cibuildwheel/main/CI.md", context=context) data = urlopen("https://raw.githubusercontent.com/pypa/cibuildwheel/main/CI.md") """