cibuildwheel 4.2.1__tar.gz → 4.3.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/.github/workflows/copilot-setup-steps.yml +1 -1
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/.github/workflows/test.yml +15 -13
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/.github/workflows/update-dependencies.yml +3 -1
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/.github/workflows/zizmor.yml +1 -1
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/.pre-commit-config.yaml +5 -5
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/PKG-INFO +25 -63
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/README.md +24 -62
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/action.yml +10 -1
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/bin/generate_schema.py +63 -22
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/bin/update_pythons.py +13 -16
- cibuildwheel-4.3.0/cibuildwheel/__init__.py +1 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/__main__.py +2 -2
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/extra.py +4 -1
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/logger.py +12 -2
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/oci_container.py +2 -2
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/options.py +207 -72
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/platforms/macos.py +4 -5
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/platforms/windows.py +1 -1
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/resources/build-platforms.toml +56 -46
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/resources/cibuildwheel.schema.json +478 -56
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/resources/constraints-pyodide312.txt +12 -11
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/resources/constraints-pyodide313.txt +12 -11
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/resources/constraints-pyodide314.txt +12 -11
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/resources/constraints-pyodide315.txt +12 -11
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/resources/constraints-python310.txt +14 -13
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/resources/constraints-python311.txt +14 -13
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/resources/constraints-python312.txt +14 -13
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/resources/constraints-python313.txt +14 -13
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/resources/constraints-python314.txt +14 -13
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/resources/constraints-python315.txt +14 -13
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/resources/constraints-python39.txt +6 -5
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/resources/constraints.txt +14 -13
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/resources/nodejs.toml +2 -2
- cibuildwheel-4.3.0/cibuildwheel/resources/pinned_docker_images.cfg +54 -0
- cibuildwheel-4.3.0/cibuildwheel/resources/python-build-standalone-releases.json +904 -0
- cibuildwheel-4.3.0/cibuildwheel/resources/virtualenv.toml +1 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/util/cmd.py +42 -7
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/util/helpers.py +55 -13
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/docs/changelog.md +15 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/docs/ci-services.md +5 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/docs/configuration.md +71 -18
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/docs/faq.md +11 -9
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/docs/options.md +51 -30
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/docs/working-examples.md +12 -12
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/examples/azure-pipelines-minimal.yml +3 -3
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/examples/circleci-minimal.yml +3 -3
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/examples/github-deploy.yml +1 -1
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/examples/github-minimal.yml +1 -1
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/examples/github-pipx.yml +1 -1
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/examples/github-with-qemu.yml +1 -1
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/examples/gitlab-minimal.yml +3 -3
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/examples/gitlab-with-qemu.yml +1 -1
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/noxfile.py +10 -21
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/pyproject.toml +1 -1
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/test/test_abi_variants.py +3 -3
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/test/test_manylinuxXXXX_only.py +12 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/test/utils.py +11 -1
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/unit_test/build_selector_test.py +12 -6
- cibuildwheel-4.3.0/unit_test/cmd_test.py +64 -0
- cibuildwheel-4.3.0/unit_test/extra_test.py +57 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/unit_test/option_prepare_test.py +5 -1
- cibuildwheel-4.2.1/unit_test/options_toml_test.py → cibuildwheel-4.3.0/unit_test/options_reader_test.py +254 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/unit_test/options_test.py +5 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/unit_test/utils_test.py +122 -11
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/unit_test/validate_schema_test.py +64 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/unit_test/wheel_print_test.py +21 -0
- cibuildwheel-4.2.1/cibuildwheel/__init__.py +0 -1
- cibuildwheel-4.2.1/cibuildwheel/resources/pinned_docker_images.cfg +0 -54
- cibuildwheel-4.2.1/cibuildwheel/resources/python-build-standalone-releases.json +0 -904
- cibuildwheel-4.2.1/cibuildwheel/resources/virtualenv.toml +0 -1
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/.agents/skills/changelog-entry/SKILL.md +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/.circleci/config.yml +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/.circleci/prepare.sh +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/.editorconfig +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/.gitattributes +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/.github/CODEOWNERS +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/.github/dependabot.yml +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/.github/workflows/release.yml +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/.github/workflows/update-major-minor-tag.yml +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/.gitignore +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/.gitlab-ci.yml +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/.readthedocs.yml +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/AGENTS.md +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/CI.md +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/LICENSE +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/azure-pipelines.yml +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/bin/bump_version.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/bin/generate_pyodide_constraints.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/bin/inspect_all_known_projects.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/bin/make_dependency_update_pr.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/bin/projects.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/bin/readme_changelog.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/bin/readme_options_table.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/bin/run_example_ci_configs.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/bin/run_tests.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/bin/sample_build.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/bin/update_docker.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/bin/update_how_it_works_image.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/bin/update_nodejs.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/bin/update_python_build_standalone.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/bin/update_virtualenv.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/_compat/__init__.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/_compat/tarfile.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/architecture.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/audit.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/bashlex_eval.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/ci.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/environment.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/errors.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/frontend.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/platforms/__init__.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/platforms/android.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/platforms/ios.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/platforms/linux.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/platforms/pyodide.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/projectfiles.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/py.typed +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/resources/android/_cross_venv.pth +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/resources/android/_cross_venv.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/resources/android/fortran_shim.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/resources/android/rust_shim.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/resources/constraints.in +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/resources/defaults.toml +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/resources/free-threaded-enable-314.xml +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/resources/free-threaded-enable-315.xml +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/resources/install_certifi.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/resources/ios-support/_cross_venv.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/resources/ios-support/arm64-iphoneos/_cross_arm64_iphoneos.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/resources/ios-support/arm64-iphoneos/sitecustomize.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/resources/ios-support/arm64-iphonesimulator/_cross_arm64_iphonesimulator.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/resources/ios-support/arm64-iphonesimulator/sitecustomize.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/resources/ios-support/make_cross_venv.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/resources/ios-support/x86_64-iphonesimulator/_cross_x86_64_iphonesimulator.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/resources/ios-support/x86_64-iphonesimulator/sitecustomize.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/resources/testing_temp_dir_file.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/schema.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/selector.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/typing.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/util/__init__.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/util/file.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/util/packaging.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/util/python_build_standalone.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/util/resources.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/cibuildwheel/venv.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/docs/_internal/pyodide-maintenance.md +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/docs/contributing.md +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/docs/cpp_standards.md +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/docs/data/how-it-works.png +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/docs/data/projects.schema.json +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/docs/data/projects.yml +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/docs/data/readme_icons/android.svg +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/docs/data/readme_icons/apple.svg +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/docs/data/readme_icons/azurepipelines.svg +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/docs/data/readme_icons/circleci.svg +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/docs/data/readme_icons/github.svg +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/docs/data/readme_icons/gitlab.svg +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/docs/data/readme_icons/ios.svg +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/docs/data/readme_icons/linux.svg +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/docs/data/readme_icons/pyodide.svg +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/docs/data/readme_icons/travisci.svg +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/docs/data/readme_icons/windows.svg +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/docs/deliver-to-pypi.md +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/docs/diagram.html +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/docs/extra.css +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/docs/extra.js +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/docs/index.md +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/docs/main.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/docs/platforms.md +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/docs/setup.md +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/docs/theme_overrides/js/theme.js +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/properdocs.yml +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/test/README.md +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/test/__init__.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/test/_cross_venv_test_android.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/test/conftest.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/test/test_0_basic.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/test/test_abi3audit.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/test/test_android.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/test/test_before_all.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/test/test_before_build.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/test/test_before_test.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/test/test_build_frontend_args.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/test/test_build_skip.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/test/test_container_engine.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/test/test_container_images.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/test/test_cpp_standards.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/test/test_custom_repair_wheel.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/test/test_dependency_versions.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/test/test_emulation.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/test/test_environment.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/test/test_from_sdist.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/test/test_ios.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/test/test_linux_python.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/test/test_macos_archs.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/test/test_meson_python.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/test/test_musllinux_X_Y_only.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/test/test_pep518.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/test/test_projects/__init__.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/test/test_projects/__main__.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/test/test_projects/base.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/test/test_projects/c.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/test/test_projects/meson.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/test/test_projects/setuptools.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/test/test_pure_wheel.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/test/test_pyodide.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/test/test_ssl.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/test/test_subdir_package.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/test/test_testing.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/test/test_troubleshooting.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/test/test_wheel_tag.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/test/test_windows.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/unit_test/__init__.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/unit_test/architecture_test.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/unit_test/audit_test.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/unit_test/build_ids_test.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/unit_test/conftest.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/unit_test/dependency_constraints_test.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/unit_test/download_test.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/unit_test/environment_test.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/unit_test/get_platform_test.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/unit_test/linux_build_steps_test.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/unit_test/main_commands_test.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/unit_test/main_tests/__init__.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/unit_test/main_tests/conftest.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/unit_test/main_tests/main_options_test.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/unit_test/main_tests/main_platform_test.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/unit_test/main_tests/main_requires_python_test.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/unit_test/oci_container_test.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/unit_test/projectfiles_test.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/unit_test/python_build_standalone_test.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/unit_test/test_sha256.py +0 -0
- {cibuildwheel-4.2.1 → cibuildwheel-4.3.0}/unit_test/venv_test.py +0 -0
|
@@ -28,7 +28,7 @@ jobs:
|
|
|
28
28
|
python-version: "3.x"
|
|
29
29
|
allow-prereleases: true
|
|
30
30
|
|
|
31
|
-
- uses: astral-sh/setup-uv@
|
|
31
|
+
- uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
|
|
32
32
|
|
|
33
33
|
- name: Install tooling
|
|
34
34
|
run: |
|
|
@@ -49,7 +49,7 @@ jobs:
|
|
|
49
49
|
- uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
|
|
50
50
|
with:
|
|
51
51
|
python-version: "3.x"
|
|
52
|
-
- uses: astral-sh/setup-uv@
|
|
52
|
+
- uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
|
|
53
53
|
- uses: j178/prek-action@4e14d07f9231acabce116ccfca13b13dd9755ece # v3.0.0
|
|
54
54
|
- name: PyLint checks
|
|
55
55
|
run: uvx nox -s pylint -- --output-format=github
|
|
@@ -66,7 +66,7 @@ jobs:
|
|
|
66
66
|
name: Install Python
|
|
67
67
|
with:
|
|
68
68
|
python-version: "3.x"
|
|
69
|
-
- uses: astral-sh/setup-uv@
|
|
69
|
+
- uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
|
|
70
70
|
- name: Install dependencies
|
|
71
71
|
run: uv sync --no-dev --group test
|
|
72
72
|
- name: Generate a sample project
|
|
@@ -130,7 +130,7 @@ jobs:
|
|
|
130
130
|
python-version: ${{ matrix.python_version }}
|
|
131
131
|
allow-prereleases: true
|
|
132
132
|
|
|
133
|
-
- uses: astral-sh/setup-uv@
|
|
133
|
+
- uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
|
|
134
134
|
|
|
135
135
|
- name: Free up disk space
|
|
136
136
|
if: runner.os == 'Linux' && matrix.test_select != 'android'
|
|
@@ -143,7 +143,7 @@ jobs:
|
|
|
143
143
|
# for oci_container unit tests
|
|
144
144
|
- name: Set up QEMU
|
|
145
145
|
if: runner.os == 'Linux'
|
|
146
|
-
uses: docker/setup-qemu-action@
|
|
146
|
+
uses: docker/setup-qemu-action@99012661954931238ded8c8b007157a8430204e1 # v4.4.0
|
|
147
147
|
|
|
148
148
|
- name: Set up Xcode
|
|
149
149
|
if: ${{ startsWith(matrix.os, 'macos-15') }}
|
|
@@ -185,7 +185,7 @@ jobs:
|
|
|
185
185
|
path: sample_proj
|
|
186
186
|
|
|
187
187
|
- name: Run a sample build (GitHub Action)
|
|
188
|
-
uses:
|
|
188
|
+
uses: $/
|
|
189
189
|
with:
|
|
190
190
|
package-dir: sample_proj
|
|
191
191
|
output-dir: wheelhouse
|
|
@@ -196,7 +196,7 @@ jobs:
|
|
|
196
196
|
CIBW_TEST_RUNTIME: ${{ matrix.test_runtime }}
|
|
197
197
|
|
|
198
198
|
- name: Run a sample build (GitHub Action, only)
|
|
199
|
-
uses:
|
|
199
|
+
uses: $/
|
|
200
200
|
if: matrix.test_select == ''
|
|
201
201
|
with:
|
|
202
202
|
package-dir: sample_proj
|
|
@@ -216,7 +216,7 @@ jobs:
|
|
|
216
216
|
EOF
|
|
217
217
|
|
|
218
218
|
- name: Run a sample build (GitHub Action, config-file)
|
|
219
|
-
uses:
|
|
219
|
+
uses: $/
|
|
220
220
|
env:
|
|
221
221
|
CIBW_PLATFORM: ${{ matrix.test_select }}
|
|
222
222
|
CIBW_TEST_RUNTIME: ${{ matrix.test_runtime }}
|
|
@@ -224,6 +224,8 @@ jobs:
|
|
|
224
224
|
package-dir: sample_proj
|
|
225
225
|
output-dir: wheelhouse_config_file
|
|
226
226
|
config-file: sample_proj/cibw.toml
|
|
227
|
+
# Exercise the system-Python override on Linux.
|
|
228
|
+
python-path: ${{ runner.os == 'Linux' && 'python3' || '' }}
|
|
227
229
|
|
|
228
230
|
- name: Check Action artifacts
|
|
229
231
|
shell: bash
|
|
@@ -260,7 +262,7 @@ jobs:
|
|
|
260
262
|
- uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
|
|
261
263
|
with:
|
|
262
264
|
python-version: "3.x"
|
|
263
|
-
- uses: astral-sh/setup-uv@
|
|
265
|
+
- uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
|
|
264
266
|
- name: Install dependencies
|
|
265
267
|
run: uv sync --no-dev --group test
|
|
266
268
|
- name: Get qemu emulated architectures
|
|
@@ -285,12 +287,12 @@ jobs:
|
|
|
285
287
|
- uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
|
|
286
288
|
with:
|
|
287
289
|
python-version: "3.x"
|
|
288
|
-
- uses: astral-sh/setup-uv@
|
|
290
|
+
- uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
|
|
289
291
|
- name: Install dependencies
|
|
290
292
|
run: uv sync --no-dev --group test
|
|
291
293
|
|
|
292
294
|
- name: Set up QEMU
|
|
293
|
-
uses: docker/setup-qemu-action@
|
|
295
|
+
uses: docker/setup-qemu-action@99012661954931238ded8c8b007157a8430204e1 # v4.4.0
|
|
294
296
|
|
|
295
297
|
- name: Run the emulation tests
|
|
296
298
|
env:
|
|
@@ -310,7 +312,7 @@ jobs:
|
|
|
310
312
|
name: Install Python 3.12
|
|
311
313
|
with:
|
|
312
314
|
python-version: '3.12'
|
|
313
|
-
- uses: astral-sh/setup-uv@
|
|
315
|
+
- uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
|
|
314
316
|
|
|
315
317
|
- name: Install dependencies
|
|
316
318
|
run: uv sync --no-dev --group test
|
|
@@ -322,7 +324,7 @@ jobs:
|
|
|
322
324
|
path: sample_proj
|
|
323
325
|
|
|
324
326
|
- name: Run a sample build (GitHub Action)
|
|
325
|
-
uses:
|
|
327
|
+
uses: $/
|
|
326
328
|
with:
|
|
327
329
|
package-dir: sample_proj
|
|
328
330
|
output-dir: wheelhouse
|
|
@@ -364,7 +366,7 @@ jobs:
|
|
|
364
366
|
name: sample_proj
|
|
365
367
|
path: sample_proj
|
|
366
368
|
- name: Run a sample build (GitHub Action)
|
|
367
|
-
uses:
|
|
369
|
+
uses: $/
|
|
368
370
|
with:
|
|
369
371
|
extras: uv
|
|
370
372
|
package-dir: sample_proj
|
|
@@ -41,7 +41,7 @@ jobs:
|
|
|
41
41
|
with:
|
|
42
42
|
persist-credentials: false
|
|
43
43
|
|
|
44
|
-
- uses: astral-sh/setup-uv@
|
|
44
|
+
- uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
|
|
45
45
|
with:
|
|
46
46
|
python-version: "3.14"
|
|
47
47
|
|
|
@@ -49,6 +49,8 @@ jobs:
|
|
|
49
49
|
run: uvx nox --force-color -s update_constraints
|
|
50
50
|
- name: "Run update: python configs"
|
|
51
51
|
run: uvx nox --force-color -s update_pins
|
|
52
|
+
env:
|
|
53
|
+
GITHUB_TOKEN: ${{ github.token }}
|
|
52
54
|
- name: "Run update: docs user projects"
|
|
53
55
|
run: uvx nox --force-color -s update_proj -- --auth=${{ secrets.GITHUB_TOKEN }}
|
|
54
56
|
|
|
@@ -18,14 +18,14 @@ repos:
|
|
|
18
18
|
exclude: ^cibuildwheel/resources/android/android.patch$
|
|
19
19
|
|
|
20
20
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
21
|
-
rev:
|
|
21
|
+
rev: a56c0b927e6465d37cae3e97d35d4d18ab2b96cd # frozen: v0.16.9
|
|
22
22
|
hooks:
|
|
23
23
|
- id: ruff-check
|
|
24
24
|
args: ["--fix"]
|
|
25
25
|
- id: ruff-format
|
|
26
26
|
|
|
27
27
|
- repo: https://github.com/pre-commit/mirrors-mypy
|
|
28
|
-
rev:
|
|
28
|
+
rev: 7ff8d35ae36a7d2b968f2f90b4c723e292e594ee # frozen: v2.3.1
|
|
29
29
|
hooks:
|
|
30
30
|
- id: mypy
|
|
31
31
|
name: mypy 3.11 on cibuildwheel/
|
|
@@ -56,7 +56,7 @@ repos:
|
|
|
56
56
|
additional_dependencies: *mypy-dependencies
|
|
57
57
|
|
|
58
58
|
- repo: https://github.com/shellcheck-py/shellcheck-py
|
|
59
|
-
rev:
|
|
59
|
+
rev: a6564f5d57444e123433a5c9af733e3975c77229 # frozen: v0.11.0.1-1
|
|
60
60
|
hooks:
|
|
61
61
|
- id: shellcheck
|
|
62
62
|
|
|
@@ -77,7 +77,7 @@ repos:
|
|
|
77
77
|
additional_dependencies: [cogapp>=3.5]
|
|
78
78
|
|
|
79
79
|
- repo: https://github.com/henryiii/flake8-lazy
|
|
80
|
-
rev:
|
|
80
|
+
rev: 3b5e52593dfaec56e6e4a48f237bafcf3d0b83ea # frozen: v0.9.0
|
|
81
81
|
hooks:
|
|
82
82
|
- id: flake8-lazy
|
|
83
83
|
args: ["--apply=set"]
|
|
@@ -93,7 +93,7 @@ repos:
|
|
|
93
93
|
|
|
94
94
|
|
|
95
95
|
- repo: https://github.com/python-jsonschema/check-jsonschema
|
|
96
|
-
rev:
|
|
96
|
+
rev: 4f85d46a92dc17713078e5de73f8a13190edf6fc # frozen: 0.38.2
|
|
97
97
|
hooks:
|
|
98
98
|
- id: check-dependabot
|
|
99
99
|
- id: check-github-actions
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: cibuildwheel
|
|
3
|
-
Version: 4.
|
|
3
|
+
Version: 4.3.0
|
|
4
4
|
Summary: Build Python wheels on CI with minimal configuration.
|
|
5
5
|
Project-URL: Changelog, https://github.com/pypa/cibuildwheel#changelog
|
|
6
6
|
Project-URL: Documentation, https://cibuildwheel.pypa.io
|
|
@@ -70,8 +70,10 @@ While cibuildwheel itself requires a recent Python version to run (we support th
|
|
|
70
70
|
| CPython 3.15 | ✅ | ✅ | ✅ | ✅ | ✅<sup>2</sup> | ✅ | ✅ | ✅ | ✅ | ✅ | ✅<sup>4</sup> | ✅ | ✅ | ✅ |
|
|
71
71
|
| PyPy 3.9 v7.3 | ✅ | ✅ | ✅ | N/A | N/A | ✅<sup>1</sup> | ✅<sup>1</sup> | ✅<sup>1</sup> | N/A | N/A | N/A | N/A | N/A | N/A |
|
|
72
72
|
| PyPy 3.10 v7.3 | ✅ | ✅ | ✅ | N/A | N/A | ✅<sup>1</sup> | ✅<sup>1</sup> | ✅<sup>1</sup> | N/A | N/A | N/A | N/A | N/A | N/A |
|
|
73
|
-
| PyPy 3.11
|
|
73
|
+
| PyPy 3.11 v8.0 | ✅ | ✅ | ✅ | N/A | N/A | ✅<sup>1</sup> | ✅<sup>1</sup> | ✅<sup>1</sup> | N/A | N/A | N/A | N/A | N/A | N/A |
|
|
74
|
+
| PyPy 3.12 v8.0 | ✅ | ✅ | ✅ | N/A | N/A | ✅<sup>1</sup> | ✅<sup>1</sup> | ✅<sup>1</sup> | N/A | N/A | N/A | N/A | N/A | N/A |
|
|
74
75
|
| GraalPy 3.12 v25.0 | ✅ | ✅ | ✅ | N/A | N/A | ✅<sup>1</sup> | N/A | ✅<sup>1</sup> | N/A | N/A | N/A | N/A | N/A | N/A |
|
|
76
|
+
| GraalPy 3.13 v25.3 | N/A | ✅ | ✅ | N/A | N/A | ✅<sup>1</sup> | N/A | ✅<sup>1</sup> | N/A | N/A | N/A | N/A | N/A | N/A |
|
|
75
77
|
|
|
76
78
|
<sup>**1** PyPy & GraalPy are only supported for manylinux wheels.</sup><br>
|
|
77
79
|
<sup>**2** Windows arm64 support is experimental.</sup><br>
|
|
@@ -134,7 +136,7 @@ jobs:
|
|
|
134
136
|
- uses: actions/setup-python@v6
|
|
135
137
|
|
|
136
138
|
- name: Install cibuildwheel
|
|
137
|
-
run: python -m pip install cibuildwheel==4.
|
|
139
|
+
run: python -m pip install cibuildwheel==4.3.0
|
|
138
140
|
|
|
139
141
|
- name: Build wheels
|
|
140
142
|
run: python -m cibuildwheel --output-dir wheelhouse
|
|
@@ -203,12 +205,13 @@ The following diagram summarises the steps that cibuildwheel takes on each platf
|
|
|
203
205
|
| | [`test-skip`](https://cibuildwheel.pypa.io/en/stable/options/#test-skip) | Skip running tests on some builds |
|
|
204
206
|
| | [`test-environment`](https://cibuildwheel.pypa.io/en/stable/options/#test-environment) | Set environment variables for the test environment |
|
|
205
207
|
| | [`test-runtime`](https://cibuildwheel.pypa.io/en/stable/options/#test-runtime) | Controls how the tests will be executed. |
|
|
206
|
-
| **Debugging** | [`
|
|
208
|
+
| **Debugging** | [`build-verbosity`](https://cibuildwheel.pypa.io/en/stable/options/#build-verbosity) | Increase/decrease the output of the build |
|
|
209
|
+
| | [`debug-keep-container`](https://cibuildwheel.pypa.io/en/stable/options/#debug-keep-container) | Keep the container after running for debugging. |
|
|
207
210
|
| | [`debug-traceback`](https://cibuildwheel.pypa.io/en/stable/options/#debug-traceback) | Print full traceback when errors occur. |
|
|
208
|
-
| | [`
|
|
211
|
+
| | [`log-fold-mode`](https://cibuildwheel.pypa.io/en/stable/options/#log-fold-mode) | Control CI log folding. |
|
|
209
212
|
|
|
210
213
|
|
|
211
|
-
<!--[[[end]]] (sum:
|
|
214
|
+
<!--[[[end]]] (sum: iao/k2ZuR1) -->
|
|
212
215
|
|
|
213
216
|
These options can be specified in a pyproject.toml file, or as environment variables, see [configuration docs](https://cibuildwheel.pypa.io/en/latest/configuration/).
|
|
214
217
|
|
|
@@ -275,6 +278,21 @@ Changelog
|
|
|
275
278
|
|
|
276
279
|
<!-- [[[cog from readme_changelog import mini_changelog; print(mini_changelog()) ]]] -->
|
|
277
280
|
|
|
281
|
+
### v4.3.0
|
|
282
|
+
|
|
283
|
+
_5 October 2026_
|
|
284
|
+
|
|
285
|
+
- ✨ Extends [option inheritance](https://cibuildwheel.pypa.io/en/stable/configuration/#inherit) to every configuration layer, so global and platform-specific settings can append or prepend to existing values, including cibuildwheel's defaults. Environment variables can also extend earlier settings using `CIBW_INHERIT`. (#2928)
|
|
286
|
+
- ✨ Adds PyPy 3.12 support and updates PyPy 3.11 to v8.0.0, available with the `pypy` [`enable`](https://cibuildwheel.pypa.io/en/stable/options/#enable) flag (#2998)
|
|
287
|
+
- ✨ Adds GraalPy 3.13 (v25.3) support on Linux, Windows, and macOS arm64, available with the `graalpy` [`enable`](https://cibuildwheel.pypa.io/en/stable/options/#enable) flag (#2982)
|
|
288
|
+
- ✨ Adds [`log-fold-mode`](https://cibuildwheel.pypa.io/en/stable/options/#log-fold-mode) to override CI log folding, including `CIBW_LOG_FOLD_MODE=disabled` to keep build steps expanded (#2972)
|
|
289
|
+
- ✨ Adds a `python-path` input to the GitHub Action to choose the Python interpreter used to run cibuildwheel, and falls back to system `python3` on runner architectures unsupported by `setup-python`, such as native riscv64 (#2990)
|
|
290
|
+
- 🐛 Fixes Windows command execution when paths or arguments contain shell metacharacters, including dependency specifiers containing `<` or `>` (#2978)
|
|
291
|
+
- 🛠 Improves readability of logged commands whose arguments contain quotes (#2993)
|
|
292
|
+
- 🛠 Updates Pyodide to 0.27.8, 0.29.5, and 314.0.7, and updates its build tooling, including auditwheel-emscripten 0.3.0 (#2996)
|
|
293
|
+
- 🛠 Updates dependencies and container pins, including CPython 3.15.0rc3 (#2986, #3003)
|
|
294
|
+
- 📚 Corrects references to `--archs` in CLI help, error messages, and documentation (#2992)
|
|
295
|
+
|
|
278
296
|
### v4.2.1
|
|
279
297
|
|
|
280
298
|
_5 September 2026_
|
|
@@ -330,63 +348,7 @@ _12 June 2026_
|
|
|
330
348
|
- 📚 Adds an FAQ section on caching cibuildwheel's downloaded tools with `CIBW_CACHE_PATH` (#2842)
|
|
331
349
|
- 📚 Documentation improvements: clarifies which shell is used for command options, clarifies environment variable precedence, and fixes a dead Pyodide env info link (#2904, #2905, #2911)
|
|
332
350
|
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
_7 June 2026_
|
|
336
|
-
|
|
337
|
-
See @henryiii's [release post](https://iscinumpy.dev/post/cibuildwheel-4-0-0/) for more info on new features!
|
|
338
|
-
|
|
339
|
-
- 🌟 Adds wheel auditing with `abi3audit` as a default after the repair step, with new [`audit-requires`](https://cibuildwheel.pypa.io/en/stable/options/#audit-requires) and [`audit-command`](https://cibuildwheel.pypa.io/en/stable/options/#audit-command) options (#2805)
|
|
340
|
-
- 🌟 Adds `pyemscripten` platform tag support (PEP 783), updates Pyodide to 314.0.0a2, and adds a `pyodide-eol` [`enable`](https://cibuildwheel.pypa.io/en/stable/options/#enable) flag for building end-of-life Pyodide versions (#2812, #2848)
|
|
341
|
-
- 🌟 Sets up `delvewheel` as the default [`repair-wheel-command`](https://cibuildwheel.pypa.io/en/stable/options/#repair-wheel-command) for Windows, so extension module DLLs are now bundled automatically. Skip by setting it to empty if not needed. (#2831)
|
|
342
|
-
- ✨ Adds CPython 3.15 support, under the [`enable` option](https://cibuildwheel.pypa.io/en/stable/options/#enable) `cpython-prerelease`. This version of cibuildwheel uses 3.15.0b2. (#2833, #2850)
|
|
343
|
-
|
|
344
|
-
_While CPython is in beta, the ABI can change, so your wheels might not be compatible with the final release. For this reason, we don't recommend distributing wheels until RC1, at which point 3.15 will be available in cibuildwheel without the flag._
|
|
345
|
-
|
|
346
|
-
- ✨ Adds CPython 3.15 support for iOS and Android (#2857, #2858)
|
|
347
|
-
- ✨ Adds Android improvements for building NumPy and related packages, including auditwheel support, pkg-config and Fortran configuration, and the [`xbuild-files`](https://cibuildwheel.pypa.io/en/stable/options/#xbuild-files) option (#2695)
|
|
348
|
-
- ✨ Adds `CIBUILDWHEEL_BUILD_IDENTIFIER` environment variable set to the current build identifier (e.g. `cp311-manylinux_x86_64`) during per-build steps (#2872)
|
|
349
|
-
- ✨ Adds `{project}` and `{package}` placeholders to [`config-settings`](https://cibuildwheel.pypa.io/en/stable/options/#config-settings) (#2827)
|
|
350
|
-
- ⚠️ Drops support for Python 3.8 (#2686)
|
|
351
|
-
- ⚠️ Removes the experimental CPython 3.13 free-threading builds and the `cpython-freethreading` [`enable`](https://cibuildwheel.pypa.io/en/stable/options/#enable) option. CPython 3.14+ free-threading support remains available without the enable flag. (#2684)
|
|
352
|
-
- ⚠️ Drops support for Cirrus CI, which is shutting down June 1, 2026 (#2817)
|
|
353
|
-
- ⚠️ Drops GraalPy 3.11 (gp311) support, as agreed in #2741, and removes GraalPy 24-only workarounds (#2895)
|
|
354
|
-
- 🔐 Adds SHA256 verification for direct downloads of Python interpreters, virtualenv, and python-build-standalone assets (#2873)
|
|
355
|
-
- 🔐 Adds tarfile extraction filter for safe archive extraction (#2856)
|
|
356
|
-
- 🐛 Fixes `UV_PYTHON` not being set for [`before-build`](https://cibuildwheel.pypa.io/en/stable/options/#before-build) on Linux when using `uv` as the [`build-frontend`](https://cibuildwheel.pypa.io/en/stable/options/#build-frontend) (#2830)
|
|
357
|
-
- 🐛 Fixes detection of musl libc when downloading python-build-standalone, which previously always selected the gnu asset on musl hosts like Alpine (#2889)
|
|
358
|
-
- 🐛 Fixes [`config-settings`](https://cibuildwheel.pypa.io/en/stable/options/#config-settings) expansion when `{project}` or `{package}` contains spaces or backslashes (#2886)
|
|
359
|
-
- 🐛 Prevents deadlock when `linux32` fails and forwards platform args to the sanity check (#2880, #2888)
|
|
360
|
-
- 🐛 Fixes container resource leaks on start failure and during teardown (#2879, #2887)
|
|
361
|
-
- 🐛 Removes potential partial cache-population in case of error (#2892)
|
|
362
|
-
- 🐛 Raises a clear error when `ANDROID_API_LEVEL` is not an integer (#2891)
|
|
363
|
-
- 🐛 Replaces assert with proper exception in python-build-standalone (#2859)
|
|
364
|
-
- 🐛 Uses ConfigurationError when `package_dir` is outside cwd instead of a generic Exception (#2898)
|
|
365
|
-
- 🛠 Updates dependencies and container pins (#2893, #2882, #2874, #2868, #2862, #2884, #2845, #2837, #2818, #2810, #2838, #2813)
|
|
366
|
-
- 🛠 Updates Android to Python 3.13.13 and 3.14.4 (#2821)
|
|
367
|
-
- 🛠 Applies Pyodide-specific patches to the Emscripten toolchain installation (#2800)
|
|
368
|
-
- 🛠 Uses `python -V -V` for Windows build diagnostics (#2832)
|
|
369
|
-
- 🛠 Simplifies pinned container image lookup (#2897)
|
|
370
|
-
- 🛠 Minor fixups across error messages, OCI container, and options (#2860)
|
|
371
|
-
- 💼 Adds PEP 723 metadata for `bin/` scripts and drops the `bin` dependency group (#2819)
|
|
372
|
-
- 💼 Improves Azure test reliability with retries and caching (#2890)
|
|
373
|
-
- 💼 Fixes Windows GitLab CI test running (#2870)
|
|
374
|
-
- 💼 Updates CI action pins and dev dependencies (#2902, #2867, #2851, #2843, #2826, #2823, #2820, #2807)
|
|
375
|
-
- 💼 Adds agent and copilot setup files (#2861)
|
|
376
|
-
- 💼 Uses `if TYPE_CHECKING:` blocks (#2866, #2864)
|
|
377
|
-
- 🧪 Fixes Android tests using the `uv` frontend (#2809)
|
|
378
|
-
- 🧪 Fixes the update-dependencies workflow to use `uv` to run `nox` (#2808)
|
|
379
|
-
- 🧪 Adds unit tests for `OCIContainer._get_platform_args` (#2878)
|
|
380
|
-
- 📚 Updates documentation for delvewheel as the default Windows [`repair-wheel-command`](https://cibuildwheel.pypa.io/en/stable/options/#repair-wheel-command), including the build diagram, schema defaults, and legal note (#2877, #2853, #2891)
|
|
381
|
-
- 📚 Documents platform-specific [`before-build`](https://cibuildwheel.pypa.io/en/stable/options/#before-build) configuration (#2834)
|
|
382
|
-
- 📚 Updates the "How it works" diagram with details of Android, iOS, and Pyodide builds (#2816)
|
|
383
|
-
- 📚 Adds Pyodide icon and regenerates working examples data for Android, iOS, and Pyodide (#2815, #2811)
|
|
384
|
-
- 📚 Adds intersphinx support for external documentation linking (#2871)
|
|
385
|
-
- 📚 Adds instructions for building CUDA wheels and fixes manylinux container references in FAQ (#2896, #2900)
|
|
386
|
-
- 📚 Links back to source in docs (#2806)
|
|
387
|
-
- 📚 Removes outdated numpy info (#2855)
|
|
388
|
-
|
|
389
|
-
<!-- [[[end]]] (sum: 0zxqpn7F3B) -->
|
|
351
|
+
<!-- [[[end]]] (sum: X2rbVg9Z07) -->
|
|
390
352
|
|
|
391
353
|
---
|
|
392
354
|
|
|
@@ -33,8 +33,10 @@ While cibuildwheel itself requires a recent Python version to run (we support th
|
|
|
33
33
|
| CPython 3.15 | ✅ | ✅ | ✅ | ✅ | ✅<sup>2</sup> | ✅ | ✅ | ✅ | ✅ | ✅ | ✅<sup>4</sup> | ✅ | ✅ | ✅ |
|
|
34
34
|
| PyPy 3.9 v7.3 | ✅ | ✅ | ✅ | N/A | N/A | ✅<sup>1</sup> | ✅<sup>1</sup> | ✅<sup>1</sup> | N/A | N/A | N/A | N/A | N/A | N/A |
|
|
35
35
|
| PyPy 3.10 v7.3 | ✅ | ✅ | ✅ | N/A | N/A | ✅<sup>1</sup> | ✅<sup>1</sup> | ✅<sup>1</sup> | N/A | N/A | N/A | N/A | N/A | N/A |
|
|
36
|
-
| PyPy 3.11
|
|
36
|
+
| PyPy 3.11 v8.0 | ✅ | ✅ | ✅ | N/A | N/A | ✅<sup>1</sup> | ✅<sup>1</sup> | ✅<sup>1</sup> | N/A | N/A | N/A | N/A | N/A | N/A |
|
|
37
|
+
| PyPy 3.12 v8.0 | ✅ | ✅ | ✅ | N/A | N/A | ✅<sup>1</sup> | ✅<sup>1</sup> | ✅<sup>1</sup> | N/A | N/A | N/A | N/A | N/A | N/A |
|
|
37
38
|
| GraalPy 3.12 v25.0 | ✅ | ✅ | ✅ | N/A | N/A | ✅<sup>1</sup> | N/A | ✅<sup>1</sup> | N/A | N/A | N/A | N/A | N/A | N/A |
|
|
39
|
+
| GraalPy 3.13 v25.3 | N/A | ✅ | ✅ | N/A | N/A | ✅<sup>1</sup> | N/A | ✅<sup>1</sup> | N/A | N/A | N/A | N/A | N/A | N/A |
|
|
38
40
|
|
|
39
41
|
<sup>**1** PyPy & GraalPy are only supported for manylinux wheels.</sup><br>
|
|
40
42
|
<sup>**2** Windows arm64 support is experimental.</sup><br>
|
|
@@ -97,7 +99,7 @@ jobs:
|
|
|
97
99
|
- uses: actions/setup-python@v6
|
|
98
100
|
|
|
99
101
|
- name: Install cibuildwheel
|
|
100
|
-
run: python -m pip install cibuildwheel==4.
|
|
102
|
+
run: python -m pip install cibuildwheel==4.3.0
|
|
101
103
|
|
|
102
104
|
- name: Build wheels
|
|
103
105
|
run: python -m cibuildwheel --output-dir wheelhouse
|
|
@@ -166,12 +168,13 @@ The following diagram summarises the steps that cibuildwheel takes on each platf
|
|
|
166
168
|
| | [`test-skip`](https://cibuildwheel.pypa.io/en/stable/options/#test-skip) | Skip running tests on some builds |
|
|
167
169
|
| | [`test-environment`](https://cibuildwheel.pypa.io/en/stable/options/#test-environment) | Set environment variables for the test environment |
|
|
168
170
|
| | [`test-runtime`](https://cibuildwheel.pypa.io/en/stable/options/#test-runtime) | Controls how the tests will be executed. |
|
|
169
|
-
| **Debugging** | [`
|
|
171
|
+
| **Debugging** | [`build-verbosity`](https://cibuildwheel.pypa.io/en/stable/options/#build-verbosity) | Increase/decrease the output of the build |
|
|
172
|
+
| | [`debug-keep-container`](https://cibuildwheel.pypa.io/en/stable/options/#debug-keep-container) | Keep the container after running for debugging. |
|
|
170
173
|
| | [`debug-traceback`](https://cibuildwheel.pypa.io/en/stable/options/#debug-traceback) | Print full traceback when errors occur. |
|
|
171
|
-
| | [`
|
|
174
|
+
| | [`log-fold-mode`](https://cibuildwheel.pypa.io/en/stable/options/#log-fold-mode) | Control CI log folding. |
|
|
172
175
|
|
|
173
176
|
|
|
174
|
-
<!--[[[end]]] (sum:
|
|
177
|
+
<!--[[[end]]] (sum: iao/k2ZuR1) -->
|
|
175
178
|
|
|
176
179
|
These options can be specified in a pyproject.toml file, or as environment variables, see [configuration docs](https://cibuildwheel.pypa.io/en/latest/configuration/).
|
|
177
180
|
|
|
@@ -238,6 +241,21 @@ Changelog
|
|
|
238
241
|
|
|
239
242
|
<!-- [[[cog from readme_changelog import mini_changelog; print(mini_changelog()) ]]] -->
|
|
240
243
|
|
|
244
|
+
### v4.3.0
|
|
245
|
+
|
|
246
|
+
_5 October 2026_
|
|
247
|
+
|
|
248
|
+
- ✨ Extends [option inheritance](https://cibuildwheel.pypa.io/en/stable/configuration/#inherit) to every configuration layer, so global and platform-specific settings can append or prepend to existing values, including cibuildwheel's defaults. Environment variables can also extend earlier settings using `CIBW_INHERIT`. (#2928)
|
|
249
|
+
- ✨ Adds PyPy 3.12 support and updates PyPy 3.11 to v8.0.0, available with the `pypy` [`enable`](https://cibuildwheel.pypa.io/en/stable/options/#enable) flag (#2998)
|
|
250
|
+
- ✨ Adds GraalPy 3.13 (v25.3) support on Linux, Windows, and macOS arm64, available with the `graalpy` [`enable`](https://cibuildwheel.pypa.io/en/stable/options/#enable) flag (#2982)
|
|
251
|
+
- ✨ Adds [`log-fold-mode`](https://cibuildwheel.pypa.io/en/stable/options/#log-fold-mode) to override CI log folding, including `CIBW_LOG_FOLD_MODE=disabled` to keep build steps expanded (#2972)
|
|
252
|
+
- ✨ Adds a `python-path` input to the GitHub Action to choose the Python interpreter used to run cibuildwheel, and falls back to system `python3` on runner architectures unsupported by `setup-python`, such as native riscv64 (#2990)
|
|
253
|
+
- 🐛 Fixes Windows command execution when paths or arguments contain shell metacharacters, including dependency specifiers containing `<` or `>` (#2978)
|
|
254
|
+
- 🛠 Improves readability of logged commands whose arguments contain quotes (#2993)
|
|
255
|
+
- 🛠 Updates Pyodide to 0.27.8, 0.29.5, and 314.0.7, and updates its build tooling, including auditwheel-emscripten 0.3.0 (#2996)
|
|
256
|
+
- 🛠 Updates dependencies and container pins, including CPython 3.15.0rc3 (#2986, #3003)
|
|
257
|
+
- 📚 Corrects references to `--archs` in CLI help, error messages, and documentation (#2992)
|
|
258
|
+
|
|
241
259
|
### v4.2.1
|
|
242
260
|
|
|
243
261
|
_5 September 2026_
|
|
@@ -293,63 +311,7 @@ _12 June 2026_
|
|
|
293
311
|
- 📚 Adds an FAQ section on caching cibuildwheel's downloaded tools with `CIBW_CACHE_PATH` (#2842)
|
|
294
312
|
- 📚 Documentation improvements: clarifies which shell is used for command options, clarifies environment variable precedence, and fixes a dead Pyodide env info link (#2904, #2905, #2911)
|
|
295
313
|
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
_7 June 2026_
|
|
299
|
-
|
|
300
|
-
See @henryiii's [release post](https://iscinumpy.dev/post/cibuildwheel-4-0-0/) for more info on new features!
|
|
301
|
-
|
|
302
|
-
- 🌟 Adds wheel auditing with `abi3audit` as a default after the repair step, with new [`audit-requires`](https://cibuildwheel.pypa.io/en/stable/options/#audit-requires) and [`audit-command`](https://cibuildwheel.pypa.io/en/stable/options/#audit-command) options (#2805)
|
|
303
|
-
- 🌟 Adds `pyemscripten` platform tag support (PEP 783), updates Pyodide to 314.0.0a2, and adds a `pyodide-eol` [`enable`](https://cibuildwheel.pypa.io/en/stable/options/#enable) flag for building end-of-life Pyodide versions (#2812, #2848)
|
|
304
|
-
- 🌟 Sets up `delvewheel` as the default [`repair-wheel-command`](https://cibuildwheel.pypa.io/en/stable/options/#repair-wheel-command) for Windows, so extension module DLLs are now bundled automatically. Skip by setting it to empty if not needed. (#2831)
|
|
305
|
-
- ✨ Adds CPython 3.15 support, under the [`enable` option](https://cibuildwheel.pypa.io/en/stable/options/#enable) `cpython-prerelease`. This version of cibuildwheel uses 3.15.0b2. (#2833, #2850)
|
|
306
|
-
|
|
307
|
-
_While CPython is in beta, the ABI can change, so your wheels might not be compatible with the final release. For this reason, we don't recommend distributing wheels until RC1, at which point 3.15 will be available in cibuildwheel without the flag._
|
|
308
|
-
|
|
309
|
-
- ✨ Adds CPython 3.15 support for iOS and Android (#2857, #2858)
|
|
310
|
-
- ✨ Adds Android improvements for building NumPy and related packages, including auditwheel support, pkg-config and Fortran configuration, and the [`xbuild-files`](https://cibuildwheel.pypa.io/en/stable/options/#xbuild-files) option (#2695)
|
|
311
|
-
- ✨ Adds `CIBUILDWHEEL_BUILD_IDENTIFIER` environment variable set to the current build identifier (e.g. `cp311-manylinux_x86_64`) during per-build steps (#2872)
|
|
312
|
-
- ✨ Adds `{project}` and `{package}` placeholders to [`config-settings`](https://cibuildwheel.pypa.io/en/stable/options/#config-settings) (#2827)
|
|
313
|
-
- ⚠️ Drops support for Python 3.8 (#2686)
|
|
314
|
-
- ⚠️ Removes the experimental CPython 3.13 free-threading builds and the `cpython-freethreading` [`enable`](https://cibuildwheel.pypa.io/en/stable/options/#enable) option. CPython 3.14+ free-threading support remains available without the enable flag. (#2684)
|
|
315
|
-
- ⚠️ Drops support for Cirrus CI, which is shutting down June 1, 2026 (#2817)
|
|
316
|
-
- ⚠️ Drops GraalPy 3.11 (gp311) support, as agreed in #2741, and removes GraalPy 24-only workarounds (#2895)
|
|
317
|
-
- 🔐 Adds SHA256 verification for direct downloads of Python interpreters, virtualenv, and python-build-standalone assets (#2873)
|
|
318
|
-
- 🔐 Adds tarfile extraction filter for safe archive extraction (#2856)
|
|
319
|
-
- 🐛 Fixes `UV_PYTHON` not being set for [`before-build`](https://cibuildwheel.pypa.io/en/stable/options/#before-build) on Linux when using `uv` as the [`build-frontend`](https://cibuildwheel.pypa.io/en/stable/options/#build-frontend) (#2830)
|
|
320
|
-
- 🐛 Fixes detection of musl libc when downloading python-build-standalone, which previously always selected the gnu asset on musl hosts like Alpine (#2889)
|
|
321
|
-
- 🐛 Fixes [`config-settings`](https://cibuildwheel.pypa.io/en/stable/options/#config-settings) expansion when `{project}` or `{package}` contains spaces or backslashes (#2886)
|
|
322
|
-
- 🐛 Prevents deadlock when `linux32` fails and forwards platform args to the sanity check (#2880, #2888)
|
|
323
|
-
- 🐛 Fixes container resource leaks on start failure and during teardown (#2879, #2887)
|
|
324
|
-
- 🐛 Removes potential partial cache-population in case of error (#2892)
|
|
325
|
-
- 🐛 Raises a clear error when `ANDROID_API_LEVEL` is not an integer (#2891)
|
|
326
|
-
- 🐛 Replaces assert with proper exception in python-build-standalone (#2859)
|
|
327
|
-
- 🐛 Uses ConfigurationError when `package_dir` is outside cwd instead of a generic Exception (#2898)
|
|
328
|
-
- 🛠 Updates dependencies and container pins (#2893, #2882, #2874, #2868, #2862, #2884, #2845, #2837, #2818, #2810, #2838, #2813)
|
|
329
|
-
- 🛠 Updates Android to Python 3.13.13 and 3.14.4 (#2821)
|
|
330
|
-
- 🛠 Applies Pyodide-specific patches to the Emscripten toolchain installation (#2800)
|
|
331
|
-
- 🛠 Uses `python -V -V` for Windows build diagnostics (#2832)
|
|
332
|
-
- 🛠 Simplifies pinned container image lookup (#2897)
|
|
333
|
-
- 🛠 Minor fixups across error messages, OCI container, and options (#2860)
|
|
334
|
-
- 💼 Adds PEP 723 metadata for `bin/` scripts and drops the `bin` dependency group (#2819)
|
|
335
|
-
- 💼 Improves Azure test reliability with retries and caching (#2890)
|
|
336
|
-
- 💼 Fixes Windows GitLab CI test running (#2870)
|
|
337
|
-
- 💼 Updates CI action pins and dev dependencies (#2902, #2867, #2851, #2843, #2826, #2823, #2820, #2807)
|
|
338
|
-
- 💼 Adds agent and copilot setup files (#2861)
|
|
339
|
-
- 💼 Uses `if TYPE_CHECKING:` blocks (#2866, #2864)
|
|
340
|
-
- 🧪 Fixes Android tests using the `uv` frontend (#2809)
|
|
341
|
-
- 🧪 Fixes the update-dependencies workflow to use `uv` to run `nox` (#2808)
|
|
342
|
-
- 🧪 Adds unit tests for `OCIContainer._get_platform_args` (#2878)
|
|
343
|
-
- 📚 Updates documentation for delvewheel as the default Windows [`repair-wheel-command`](https://cibuildwheel.pypa.io/en/stable/options/#repair-wheel-command), including the build diagram, schema defaults, and legal note (#2877, #2853, #2891)
|
|
344
|
-
- 📚 Documents platform-specific [`before-build`](https://cibuildwheel.pypa.io/en/stable/options/#before-build) configuration (#2834)
|
|
345
|
-
- 📚 Updates the "How it works" diagram with details of Android, iOS, and Pyodide builds (#2816)
|
|
346
|
-
- 📚 Adds Pyodide icon and regenerates working examples data for Android, iOS, and Pyodide (#2815, #2811)
|
|
347
|
-
- 📚 Adds intersphinx support for external documentation linking (#2871)
|
|
348
|
-
- 📚 Adds instructions for building CUDA wheels and fixes manylinux container references in FAQ (#2896, #2900)
|
|
349
|
-
- 📚 Links back to source in docs (#2806)
|
|
350
|
-
- 📚 Removes outdated numpy info (#2855)
|
|
351
|
-
|
|
352
|
-
<!-- [[[end]]] (sum: 0zxqpn7F3B) -->
|
|
314
|
+
<!-- [[[end]]] (sum: X2rbVg9Z07) -->
|
|
353
315
|
|
|
354
316
|
---
|
|
355
317
|
|
|
@@ -21,6 +21,12 @@ inputs:
|
|
|
21
21
|
description: 'Comma-separated list of extras to install'
|
|
22
22
|
required: false
|
|
23
23
|
default: ''
|
|
24
|
+
python-path:
|
|
25
|
+
description: >-
|
|
26
|
+
Python interpreter used to install cibuildwheel. If unset, uses
|
|
27
|
+
actions/setup-python on X64/ARM64, and "python3" on other architectures.
|
|
28
|
+
required: false
|
|
29
|
+
default: ''
|
|
24
30
|
branding:
|
|
25
31
|
icon: package
|
|
26
32
|
color: yellow
|
|
@@ -30,6 +36,9 @@ runs:
|
|
|
30
36
|
steps:
|
|
31
37
|
- uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
|
|
32
38
|
id: python
|
|
39
|
+
# Only use setup-python when no interpreter was supplied and the
|
|
40
|
+
# runner architecture is supported.
|
|
41
|
+
if: inputs.python-path == '' && (runner.arch == 'X64' || runner.arch == 'ARM64')
|
|
33
42
|
with:
|
|
34
43
|
python-version: "3.11 - 3.14"
|
|
35
44
|
update-environment: false
|
|
@@ -119,7 +128,7 @@ runs:
|
|
|
119
128
|
EOF
|
|
120
129
|
shell: bash
|
|
121
130
|
env:
|
|
122
|
-
PYTHON: ${{ steps.python.outputs.python-path }}
|
|
131
|
+
PYTHON: ${{ inputs.python-path || steps.python.outputs.python-path || 'python3' }}
|
|
123
132
|
INPUT_PACKAGE_DIR: ${{ inputs.package-dir }}
|
|
124
133
|
INPUT_OUTPUT_DIR: ${{ inputs.output-dir }}
|
|
125
134
|
INPUT_CONFIG_FILE: ${{ inputs.config-file }}
|
|
@@ -40,6 +40,28 @@ additionalProperties: false
|
|
|
40
40
|
description: cibuildwheel's settings.
|
|
41
41
|
type: object
|
|
42
42
|
properties:
|
|
43
|
+
inherit:
|
|
44
|
+
type: object
|
|
45
|
+
additionalProperties: false
|
|
46
|
+
properties:
|
|
47
|
+
audit-command: {"$ref": "#/$defs/inherit"}
|
|
48
|
+
audit-requires: {"$ref": "#/$defs/inherit"}
|
|
49
|
+
before-all: {"$ref": "#/$defs/inherit"}
|
|
50
|
+
before-build: {"$ref": "#/$defs/inherit"}
|
|
51
|
+
xbuild-tools: {"$ref": "#/$defs/inherit"}
|
|
52
|
+
xbuild-files: {"$ref": "#/$defs/inherit"}
|
|
53
|
+
before-test: {"$ref": "#/$defs/inherit"}
|
|
54
|
+
config-settings: {"$ref": "#/$defs/inherit"}
|
|
55
|
+
container-engine: {"$ref": "#/$defs/inherit"}
|
|
56
|
+
environment: {"$ref": "#/$defs/inherit"}
|
|
57
|
+
environment-pass: {"$ref": "#/$defs/inherit"}
|
|
58
|
+
repair-wheel-command: {"$ref": "#/$defs/inherit"}
|
|
59
|
+
test-command: {"$ref": "#/$defs/inherit"}
|
|
60
|
+
test-extras: {"$ref": "#/$defs/inherit"}
|
|
61
|
+
test-sources: {"$ref": "#/$defs/inherit"}
|
|
62
|
+
test-requires: {"$ref": "#/$defs/inherit"}
|
|
63
|
+
test-environment: {"$ref": "#/$defs/inherit"}
|
|
64
|
+
test-runtime: {"$ref": "#/$defs/inherit"}
|
|
43
65
|
audit-command:
|
|
44
66
|
description: Execute a shell command to audit each wheel after it is repaired. Use {wheel} for each wheel path, or {abi3_wheel} to only audit abi3 wheels.
|
|
45
67
|
type: string_array
|
|
@@ -332,31 +354,30 @@ items:
|
|
|
332
354
|
additionalProperties: false
|
|
333
355
|
properties:
|
|
334
356
|
select: {}
|
|
335
|
-
inherit:
|
|
336
|
-
type: object
|
|
337
|
-
additionalProperties: false
|
|
338
|
-
properties:
|
|
339
|
-
audit-command: {"$ref": "#/$defs/inherit"}
|
|
340
|
-
audit-requires: {"$ref": "#/$defs/inherit"}
|
|
341
|
-
before-all: {"$ref": "#/$defs/inherit"}
|
|
342
|
-
before-build: {"$ref": "#/$defs/inherit"}
|
|
343
|
-
xbuild-tools: {"$ref": "#/$defs/inherit"}
|
|
344
|
-
xbuild-files: {"$ref": "#/$defs/inherit"}
|
|
345
|
-
before-test: {"$ref": "#/$defs/inherit"}
|
|
346
|
-
config-settings: {"$ref": "#/$defs/inherit"}
|
|
347
|
-
container-engine: {"$ref": "#/$defs/inherit"}
|
|
348
|
-
environment: {"$ref": "#/$defs/inherit"}
|
|
349
|
-
environment-pass: {"$ref": "#/$defs/inherit"}
|
|
350
|
-
repair-wheel-command: {"$ref": "#/$defs/inherit"}
|
|
351
|
-
test-command: {"$ref": "#/$defs/inherit"}
|
|
352
|
-
test-extras: {"$ref": "#/$defs/inherit"}
|
|
353
|
-
test-sources: {"$ref": "#/$defs/inherit"}
|
|
354
|
-
test-requires: {"$ref": "#/$defs/inherit"}
|
|
355
|
-
test-environment: {"$ref": "#/$defs/inherit"}
|
|
356
|
-
test-runtime: {"$ref": "#/$defs/inherit"}
|
|
357
357
|
"""
|
|
358
358
|
)
|
|
359
359
|
|
|
360
|
+
INHERITABLE_OPTIONS = frozenset(
|
|
361
|
+
{
|
|
362
|
+
"audit-command",
|
|
363
|
+
"audit-requires",
|
|
364
|
+
"before-all",
|
|
365
|
+
"before-build",
|
|
366
|
+
"before-test",
|
|
367
|
+
"config-settings",
|
|
368
|
+
"environment",
|
|
369
|
+
"environment-pass",
|
|
370
|
+
"repair-wheel-command",
|
|
371
|
+
"test-command",
|
|
372
|
+
"test-environment",
|
|
373
|
+
"test-extras",
|
|
374
|
+
"test-groups",
|
|
375
|
+
"test-requires",
|
|
376
|
+
"test-sources",
|
|
377
|
+
"xbuild-tools",
|
|
378
|
+
}
|
|
379
|
+
)
|
|
380
|
+
|
|
360
381
|
for key, value in schema["properties"].items():
|
|
361
382
|
value["title"] = f"CIBW_{key.replace('-', '_').upper()}"
|
|
362
383
|
|
|
@@ -388,6 +409,19 @@ def as_object(d: dict[str, Any]) -> dict[str, Any]:
|
|
|
388
409
|
}
|
|
389
410
|
|
|
390
411
|
|
|
412
|
+
def inherit_schema(options: dict[str, Any]) -> dict[str, Any]:
|
|
413
|
+
properties = {
|
|
414
|
+
name: {"$ref": "#/$defs/inherit"} for name in options if name in INHERITABLE_OPTIONS
|
|
415
|
+
}
|
|
416
|
+
return {
|
|
417
|
+
"description": "How options at this configuration level inherit previous values.",
|
|
418
|
+
"oneOf": [
|
|
419
|
+
{"type": "string"},
|
|
420
|
+
as_object(properties),
|
|
421
|
+
],
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
|
|
391
425
|
oses = {
|
|
392
426
|
"linux": as_object(non_global_options),
|
|
393
427
|
"windows": as_object(not_linux),
|
|
@@ -410,6 +444,13 @@ for os_name, command in [
|
|
|
410
444
|
|
|
411
445
|
del oses["linux"]["properties"]["dependency-versions"]
|
|
412
446
|
|
|
447
|
+
schema["properties"]["inherit"] = {
|
|
448
|
+
**inherit_schema(schema["properties"]),
|
|
449
|
+
"title": "CIBW_INHERIT",
|
|
450
|
+
}
|
|
451
|
+
overrides["items"]["properties"]["inherit"] = inherit_schema(overrides["items"]["properties"])
|
|
452
|
+
for os_schema in oses.values():
|
|
453
|
+
os_schema["properties"]["inherit"] = inherit_schema(os_schema["properties"])
|
|
413
454
|
|
|
414
455
|
schema["$defs"]["build-frontend-no-pyodide"] = build_frontend_schema(
|
|
415
456
|
FRONTENDS,
|