cibuildwheel 3.1.4__tar.gz → 3.2.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-3.1.4 → cibuildwheel-3.2.0}/.github/workflows/release.yml +1 -1
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/.github/workflows/test.yml +9 -17
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/.pre-commit-config.yaml +4 -4
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/PKG-INFO +24 -27
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/README.md +23 -26
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/action.yml +1 -1
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/azure-pipelines.yml +1 -1
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/bin/projects.py +3 -3
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/bin/run_example_ci_configs.py +34 -4
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/bin/update_pythons.py +43 -70
- cibuildwheel-3.2.0/cibuildwheel/__init__.py +1 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/cibuildwheel/platforms/android.py +25 -9
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/cibuildwheel/platforms/windows.py +14 -7
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/cibuildwheel/resources/build-platforms.toml +46 -39
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/cibuildwheel/resources/constraints-pyodide312.txt +7 -7
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/cibuildwheel/resources/constraints-pyodide313.txt +7 -7
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/cibuildwheel/resources/constraints-python310.txt +2 -2
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/cibuildwheel/resources/constraints-python311.txt +2 -2
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/cibuildwheel/resources/constraints-python312.txt +2 -2
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/cibuildwheel/resources/constraints-python313.txt +2 -2
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/cibuildwheel/resources/constraints-python314.txt +2 -2
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/cibuildwheel/resources/constraints-python39.txt +2 -2
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/cibuildwheel/resources/constraints.txt +2 -2
- cibuildwheel-3.2.0/cibuildwheel/resources/nodejs.toml +3 -0
- cibuildwheel-3.2.0/cibuildwheel/resources/pinned_docker_images.cfg +52 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/cibuildwheel/resources/python-build-standalone-releases.json +249 -225
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/cibuildwheel/selector.py +4 -2
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/docs/changelog.md +11 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/docs/configuration.md +7 -4
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/docs/faq.md +3 -3
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/docs/options.md +6 -2
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/docs/platforms.md +13 -7
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/examples/azure-pipelines-minimal.yml +3 -3
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/examples/circleci-minimal.yml +3 -3
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/examples/cirrus-ci-intel-mac.yml +1 -1
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/examples/cirrus-ci-minimal.yml +1 -1
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/examples/github-deploy.yml +11 -19
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/examples/github-minimal.yml +3 -3
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/examples/github-pipx.yml +3 -3
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/examples/github-with-qemu.yml +3 -3
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/examples/gitlab-minimal.yml +3 -3
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/examples/gitlab-with-qemu.yml +1 -1
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/examples/travis-ci-deploy.yml +1 -1
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/examples/travis-ci-minimal.yml +1 -1
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/examples/travis-ci-test-and-deploy.yml +2 -2
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/pyproject.toml +5 -2
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/test/test_abi_variants.py +2 -2
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/test/test_android.py +78 -1
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/test/test_dependency_versions.py +4 -4
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/test/test_ios.py +3 -5
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/test/test_pyodide.py +1 -1
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/test/test_ssl.py +3 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/test/utils.py +21 -4
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/unit_test/build_selector_test.py +2 -3
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/unit_test/get_platform_test.py +5 -21
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/unit_test/main_commands_test.py +4 -4
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/unit_test/option_prepare_test.py +3 -1
- cibuildwheel-3.1.4/cibuildwheel/__init__.py +0 -1
- cibuildwheel-3.1.4/cibuildwheel/resources/nodejs.toml +0 -3
- cibuildwheel-3.1.4/cibuildwheel/resources/pinned_docker_images.cfg +0 -53
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/.circleci/config.yml +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/.circleci/prepare.sh +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/.cirrus.yml +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/.editorconfig +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/.gitattributes +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/.github/CODEOWNERS +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/.github/dependabot.yml +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/.github/workflows/update-dependencies.yml +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/.github/workflows/update-major-minor-tag.yml +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/.gitignore +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/.gitlab-ci.yml +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/.readthedocs.yml +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/.travis.yml +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/CI.md +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/LICENSE +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/bin/bump_version.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/bin/generate_pyodide_constraints.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/bin/generate_schema.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/bin/inspect_all_known_projects.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/bin/make_dependency_update_pr.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/bin/readme_changelog.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/bin/readme_options_table.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/bin/run_tests.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/bin/sample_build.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/bin/update_docker.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/bin/update_how_it_works_image.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/bin/update_nodejs.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/bin/update_python_build_standalone.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/bin/update_virtualenv.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/cibuildwheel/__main__.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/cibuildwheel/architecture.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/cibuildwheel/bashlex_eval.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/cibuildwheel/ci.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/cibuildwheel/environment.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/cibuildwheel/errors.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/cibuildwheel/extra.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/cibuildwheel/frontend.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/cibuildwheel/logger.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/cibuildwheel/oci_container.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/cibuildwheel/options.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/cibuildwheel/platforms/__init__.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/cibuildwheel/platforms/ios.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/cibuildwheel/platforms/linux.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/cibuildwheel/platforms/macos.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/cibuildwheel/platforms/pyodide.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/cibuildwheel/projectfiles.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/cibuildwheel/py.typed +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/cibuildwheel/resources/_cross_venv.pth +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/cibuildwheel/resources/_cross_venv.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/cibuildwheel/resources/cibuildwheel.schema.json +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/cibuildwheel/resources/constraints-python38.txt +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/cibuildwheel/resources/constraints.in +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/cibuildwheel/resources/defaults.toml +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/cibuildwheel/resources/free-threaded-enable-313.xml +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/cibuildwheel/resources/free-threaded-enable-314.xml +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/cibuildwheel/resources/install_certifi.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/cibuildwheel/resources/testing_temp_dir_file.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/cibuildwheel/resources/virtualenv.toml +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/cibuildwheel/schema.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/cibuildwheel/typing.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/cibuildwheel/util/__init__.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/cibuildwheel/util/cmd.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/cibuildwheel/util/file.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/cibuildwheel/util/helpers.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/cibuildwheel/util/packaging.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/cibuildwheel/util/python_build_standalone.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/cibuildwheel/util/resources.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/cibuildwheel/venv.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/docs/ci-services.md +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/docs/contributing.md +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/docs/cpp_standards.md +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/docs/data/how-it-works.png +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/docs/data/projects.schema.json +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/docs/data/projects.yml +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/docs/data/readme_icons/apple.svg +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/docs/data/readme_icons/azurepipelines.svg +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/docs/data/readme_icons/circleci.svg +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/docs/data/readme_icons/cirrusci.svg +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/docs/data/readme_icons/github.svg +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/docs/data/readme_icons/gitlab.svg +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/docs/data/readme_icons/linux.svg +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/docs/data/readme_icons/travisci.svg +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/docs/data/readme_icons/windows.svg +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/docs/deliver-to-pypi.md +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/docs/diagram.html +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/docs/extra.css +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/docs/extra.js +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/docs/index.md +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/docs/main.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/docs/setup.md +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/docs/theme_overrides/js/theme.js +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/docs/working-examples.md +14 -14
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/mkdocs.yml +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/noxfile.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/test/README.md +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/test/__init__.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/test/conftest.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/test/test_0_basic.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/test/test_before_all.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/test/test_before_build.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/test/test_before_test.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/test/test_build_frontend_args.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/test/test_build_skip.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/test/test_container_engine.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/test/test_container_images.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/test/test_cpp_standards.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/test/test_custom_repair_wheel.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/test/test_emulation.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/test/test_environment.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/test/test_from_sdist.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/test/test_linux_python.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/test/test_macos_archs.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/test/test_manylinuxXXXX_only.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/test/test_musllinux_X_Y_only.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/test/test_pep518.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/test/test_projects/__init__.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/test/test_projects/__main__.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/test/test_projects/base.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/test/test_projects/c.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/test/test_pure_wheel.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/test/test_subdir_package.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/test/test_testing.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/test/test_troubleshooting.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/test/test_wheel_tag.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/test/test_windows.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/unit_test/__init__.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/unit_test/architecture_test.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/unit_test/build_ids_test.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/unit_test/conftest.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/unit_test/dependency_constraints_test.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/unit_test/download_test.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/unit_test/environment_test.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/unit_test/linux_build_steps_test.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/unit_test/main_tests/__init__.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/unit_test/main_tests/conftest.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/unit_test/main_tests/main_options_test.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/unit_test/main_tests/main_platform_test.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/unit_test/main_tests/main_requires_python_test.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/unit_test/oci_container_test.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/unit_test/options_test.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/unit_test/options_toml_test.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/unit_test/projectfiles_test.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/unit_test/utils_test.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/unit_test/validate_schema_test.py +0 -0
- {cibuildwheel-3.1.4 → cibuildwheel-3.2.0}/unit_test/wheel_print_test.py +0 -0
|
@@ -33,7 +33,7 @@ jobs:
|
|
|
33
33
|
path: dist
|
|
34
34
|
|
|
35
35
|
- name: Generate artifact attestation for sdist and wheel
|
|
36
|
-
uses: actions/attest-build-provenance@
|
|
36
|
+
uses: actions/attest-build-provenance@977bb373ede98d70efdf65b84cb5f73e068dcc2a # v3.0.0
|
|
37
37
|
with:
|
|
38
38
|
subject-path: "dist/cibuildwheel-*"
|
|
39
39
|
|
|
@@ -38,7 +38,7 @@ jobs:
|
|
|
38
38
|
runs-on: ubuntu-latest
|
|
39
39
|
steps:
|
|
40
40
|
- uses: actions/checkout@v5
|
|
41
|
-
- uses: actions/setup-python@
|
|
41
|
+
- uses: actions/setup-python@v6
|
|
42
42
|
id: python
|
|
43
43
|
with:
|
|
44
44
|
python-version: "3.x"
|
|
@@ -69,17 +69,17 @@ jobs:
|
|
|
69
69
|
python_version: '3.13'
|
|
70
70
|
- os: windows-11-arm
|
|
71
71
|
python_version: '3.13'
|
|
72
|
-
- os: macos-
|
|
72
|
+
- os: macos-15-intel
|
|
73
73
|
python_version: '3.13'
|
|
74
74
|
- os: macos-15
|
|
75
75
|
python_version: '3.13'
|
|
76
|
-
- os: macos-
|
|
76
|
+
- os: macos-15-intel
|
|
77
77
|
python_version: '3.13'
|
|
78
78
|
test_select: ios
|
|
79
|
-
- os: macos-14 #
|
|
79
|
+
- os: macos-14 # See https://github.com/actions/runner-images/issues/12777
|
|
80
80
|
python_version: '3.13'
|
|
81
81
|
test_select: ios
|
|
82
|
-
- os: macos-
|
|
82
|
+
- os: macos-15-intel
|
|
83
83
|
python_version: '3.13'
|
|
84
84
|
test_select: android
|
|
85
85
|
- os: macos-15
|
|
@@ -88,7 +88,7 @@ jobs:
|
|
|
88
88
|
timeout-minutes: 180
|
|
89
89
|
steps:
|
|
90
90
|
- uses: actions/checkout@v5
|
|
91
|
-
- uses: actions/setup-python@
|
|
91
|
+
- uses: actions/setup-python@v6
|
|
92
92
|
name: Install Python ${{ matrix.python_version }}
|
|
93
93
|
with:
|
|
94
94
|
python-version: ${{ matrix.python_version }}
|
|
@@ -105,14 +105,6 @@ jobs:
|
|
|
105
105
|
/usr/local/share/powershell
|
|
106
106
|
df -h
|
|
107
107
|
|
|
108
|
-
# https://github.blog/changelog/2024-04-02-github-actions-hardware-accelerated-android-virtualization-now-available/
|
|
109
|
-
- name: Enable KVM for Android emulator
|
|
110
|
-
if: runner.os == 'Linux' && runner.arch == 'X64'
|
|
111
|
-
run: |
|
|
112
|
-
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
|
|
113
|
-
sudo udevadm control --reload-rules
|
|
114
|
-
sudo udevadm trigger --name-match=kvm
|
|
115
|
-
|
|
116
108
|
# for oci_container unit tests
|
|
117
109
|
- name: Set up QEMU
|
|
118
110
|
if: runner.os == 'Linux'
|
|
@@ -215,7 +207,7 @@ jobs:
|
|
|
215
207
|
archs: ${{ steps.archs.outputs.archs }}
|
|
216
208
|
steps:
|
|
217
209
|
- uses: actions/checkout@v5
|
|
218
|
-
- uses: actions/setup-python@
|
|
210
|
+
- uses: actions/setup-python@v6
|
|
219
211
|
with:
|
|
220
212
|
python-version: "3.x"
|
|
221
213
|
- uses: astral-sh/setup-uv@v6
|
|
@@ -238,7 +230,7 @@ jobs:
|
|
|
238
230
|
arch: ${{ fromJSON(needs.emulated-archs.outputs.archs) }}
|
|
239
231
|
steps:
|
|
240
232
|
- uses: actions/checkout@v5
|
|
241
|
-
- uses: actions/setup-python@
|
|
233
|
+
- uses: actions/setup-python@v6
|
|
242
234
|
with:
|
|
243
235
|
python-version: "3.x"
|
|
244
236
|
- uses: astral-sh/setup-uv@v6
|
|
@@ -258,7 +250,7 @@ jobs:
|
|
|
258
250
|
timeout-minutes: 180
|
|
259
251
|
steps:
|
|
260
252
|
- uses: actions/checkout@v5
|
|
261
|
-
- uses: actions/setup-python@
|
|
253
|
+
- uses: actions/setup-python@v6
|
|
262
254
|
name: Install Python 3.12
|
|
263
255
|
with:
|
|
264
256
|
python-version: '3.12'
|
|
@@ -14,14 +14,14 @@ repos:
|
|
|
14
14
|
- id: trailing-whitespace
|
|
15
15
|
|
|
16
16
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
17
|
-
rev: v0.
|
|
17
|
+
rev: v0.13.1
|
|
18
18
|
hooks:
|
|
19
|
-
- id: ruff
|
|
19
|
+
- id: ruff-check
|
|
20
20
|
args: ["--fix", "--show-fixes"]
|
|
21
21
|
- id: ruff-format
|
|
22
22
|
|
|
23
23
|
- repo: https://github.com/pre-commit/mirrors-mypy
|
|
24
|
-
rev: v1.
|
|
24
|
+
rev: v1.18.2
|
|
25
25
|
hooks:
|
|
26
26
|
- id: mypy
|
|
27
27
|
name: mypy 3.11 on cibuildwheel/
|
|
@@ -83,7 +83,7 @@ repos:
|
|
|
83
83
|
|
|
84
84
|
|
|
85
85
|
- repo: https://github.com/python-jsonschema/check-jsonschema
|
|
86
|
-
rev: 0.
|
|
86
|
+
rev: 0.34.0
|
|
87
87
|
hooks:
|
|
88
88
|
- id: check-dependabot
|
|
89
89
|
- id: check-github-actions
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: cibuildwheel
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.2.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
|
|
@@ -68,14 +68,15 @@ While cibuildwheel itself requires a recent Python version to run (we support th
|
|
|
68
68
|
| CPython 3.9 | ✅ | ✅ | ✅ | ✅ | ✅² | ✅ | ✅ | ✅ | ✅ | ✅ | ✅⁵ | N/A | N/A | N/A |
|
|
69
69
|
| CPython 3.10 | ✅ | ✅ | ✅ | ✅ | ✅² | ✅ | ✅ | ✅ | ✅ | ✅ | ✅⁵ | N/A | N/A | N/A |
|
|
70
70
|
| CPython 3.11 | ✅ | ✅ | ✅ | ✅ | ✅² | ✅ | ✅ | ✅ | ✅ | ✅ | ✅⁵ | N/A | N/A | N/A |
|
|
71
|
-
| CPython 3.12 | ✅ | ✅ | ✅ | ✅ | ✅² | ✅ | ✅ | ✅ | ✅ | ✅ | ✅⁵
|
|
72
|
-
| CPython 3.13³ | ✅ | ✅ | ✅ | ✅ | ✅² | ✅ | ✅ | ✅ | ✅ | ✅ | ✅⁵
|
|
73
|
-
| CPython 3.14 | ✅ | ✅ | ✅ | ✅ | ✅² | ✅ | ✅ | ✅ | ✅ | ✅ | ✅⁵
|
|
71
|
+
| CPython 3.12 | ✅ | ✅ | ✅ | ✅ | ✅² | ✅ | ✅ | ✅ | ✅ | ✅ | ✅⁵ | N/A | N/A | ✅⁴ |
|
|
72
|
+
| CPython 3.13³ | ✅ | ✅ | ✅ | ✅ | ✅² | ✅ | ✅ | ✅ | ✅ | ✅ | ✅⁵ | ✅ | ✅ | ✅⁴ |
|
|
73
|
+
| CPython 3.14 | ✅ | ✅ | ✅ | ✅ | ✅² | ✅ | ✅ | ✅ | ✅ | ✅ | ✅⁵ | ✅ | ✅ | N/A |
|
|
74
74
|
| PyPy 3.8 v7.3 | ✅ | ✅ | ✅ | N/A | N/A | ✅¹ | ✅¹ | ✅¹ | N/A | N/A | N/A | N/A | N/A | N/A |
|
|
75
75
|
| PyPy 3.9 v7.3 | ✅ | ✅ | ✅ | N/A | N/A | ✅¹ | ✅¹ | ✅¹ | N/A | N/A | N/A | N/A | N/A | N/A |
|
|
76
76
|
| PyPy 3.10 v7.3 | ✅ | ✅ | ✅ | N/A | N/A | ✅¹ | ✅¹ | ✅¹ | N/A | N/A | N/A | N/A | N/A | N/A |
|
|
77
77
|
| PyPy 3.11 v7.3 | ✅ | ✅ | ✅ | N/A | N/A | ✅¹ | ✅¹ | ✅¹ | N/A | N/A | N/A | N/A | N/A | N/A |
|
|
78
78
|
| GraalPy 3.11 v24.2 | ✅ | ✅ | ✅ | N/A | N/A | ✅¹ | N/A | ✅¹ | N/A | N/A | N/A | N/A | N/A | N/A |
|
|
79
|
+
| GraalPy 3.12 v25.0 | ✅ | ✅ | ✅ | N/A | N/A | ✅¹ | N/A | ✅¹ | N/A | N/A | N/A | N/A | N/A | N/A |
|
|
79
80
|
|
|
80
81
|
<sup>¹ PyPy & GraalPy are only supported for manylinux wheels.</sup><br>
|
|
81
82
|
<sup>² Windows arm64 support is experimental.</sup><br>
|
|
@@ -97,8 +98,8 @@ Usage
|
|
|
97
98
|
|
|
98
99
|
| | Linux | macOS | Windows | Linux ARM | macOS ARM | Windows ARM | Android | iOS |
|
|
99
100
|
|-----------------|-------|-------|---------|-----------|-----------|-------------|---------|-----|
|
|
100
|
-
| GitHub Actions | ✅ | ✅ | ✅ | ✅ | ✅ | ✅² | ✅⁴ |
|
|
101
|
-
| Azure Pipelines | ✅ | ✅ | ✅ | | ✅ | ✅² | ✅⁴ |
|
|
101
|
+
| GitHub Actions | ✅ | ✅ | ✅ | ✅ | ✅ | ✅² | ✅⁴ | ✅³⁵ |
|
|
102
|
+
| Azure Pipelines | ✅ | ✅ | ✅ | | ✅ | ✅² | ✅⁴ | ✅³⁵ |
|
|
102
103
|
| Travis CI | ✅ | | ✅ | ✅ | | | ✅⁴ | |
|
|
103
104
|
| CircleCI | ✅ | ✅ | | ✅ | ✅ | | ✅⁴ | ✅³ |
|
|
104
105
|
| Gitlab CI | ✅ | ✅ | ✅ | ✅¹ | ✅ | | ✅⁴ | ✅³ |
|
|
@@ -106,8 +107,10 @@ Usage
|
|
|
106
107
|
|
|
107
108
|
<sup>¹ [Requires emulation](https://cibuildwheel.pypa.io/en/stable/faq/#emulation), distributed separately. Other services may also support Linux ARM through emulation or third-party build hosts, but these are not tested in our CI.</sup><br>
|
|
108
109
|
<sup>² [Uses cross-compilation](https://cibuildwheel.pypa.io/en/stable/faq/#windows-arm64). It is not possible to test `arm64` on this CI platform.</sup><br>
|
|
109
|
-
<sup>³ Requires a macOS runner; runs tests on the simulator for the runner's architecture
|
|
110
|
+
<sup>³ Requires a macOS runner; runs tests on the simulator for the runner's architecture. </sup><br>
|
|
110
111
|
<sup>⁴ Building for Android requires the runner to be Linux x86_64, macOS ARM64 or macOS x86_64. Testing has [additional requirements](https://cibuildwheel.pypa.io/en/stable/platforms/#android).</sup><br>
|
|
112
|
+
<sup>⁵ The `macos-15` and `macos-latest` images are [incompatible with cibuildwheel at this time](platforms/#ios-system-requirements)</sup><br> when building iOS wheels.
|
|
113
|
+
|
|
111
114
|
<!--intro-end-->
|
|
112
115
|
|
|
113
116
|
Example setup
|
|
@@ -127,7 +130,7 @@ jobs:
|
|
|
127
130
|
runs-on: ${{ matrix.os }}
|
|
128
131
|
strategy:
|
|
129
132
|
matrix:
|
|
130
|
-
os: [ubuntu-latest, ubuntu-24.04-arm, windows-latest, windows-11-arm, macos-
|
|
133
|
+
os: [ubuntu-latest, ubuntu-24.04-arm, windows-latest, windows-11-arm, macos-15-intel, macos-latest]
|
|
131
134
|
|
|
132
135
|
steps:
|
|
133
136
|
- uses: actions/checkout@v5
|
|
@@ -136,7 +139,7 @@ jobs:
|
|
|
136
139
|
- uses: actions/setup-python@v5
|
|
137
140
|
|
|
138
141
|
- name: Install cibuildwheel
|
|
139
|
-
run: python -m pip install cibuildwheel==3.
|
|
142
|
+
run: python -m pip install cibuildwheel==3.2.0
|
|
140
143
|
|
|
141
144
|
- name: Build wheels
|
|
142
145
|
run: python -m cibuildwheel --output-dir wheelhouse
|
|
@@ -266,6 +269,17 @@ Changelog
|
|
|
266
269
|
|
|
267
270
|
<!-- [[[cog from readme_changelog import mini_changelog; print(mini_changelog()) ]]] -->
|
|
268
271
|
|
|
272
|
+
### v3.2.0
|
|
273
|
+
|
|
274
|
+
_22 September 2025_
|
|
275
|
+
|
|
276
|
+
- ✨ Adds GraalPy v25 (Python 3.12) support (#2597)
|
|
277
|
+
- 🛠 Update to CPython 3.14.0rc3 (#2602)
|
|
278
|
+
- 🛠 Adds CPython 3.14.0 prerelease support for Android, and a number of improvements to Android builds (#2568, #2591)
|
|
279
|
+
- 🛠 Improvements to testing on Android, passing environment markers when installing the venv, and providing more debug output when build-verbosity is set (#2575)
|
|
280
|
+
- ⚠️ PyPy 3.10 was moved to `pypy-eol` in the `enable` option, as it is now end-of-life. (#2521)
|
|
281
|
+
- 📚 Docs improvements (#2574, #2601, #2598)
|
|
282
|
+
|
|
269
283
|
### v3.1.4
|
|
270
284
|
|
|
271
285
|
_19 August 2025_
|
|
@@ -315,24 +329,7 @@ _24 July 2025_
|
|
|
315
329
|
- 🐛 Fix a bug showing an incorrect wheel count at the end of execution, and misrepresenting test-only runs in the GitHub Action summary (#2512)
|
|
316
330
|
- 📚 Docs fix (#2510)
|
|
317
331
|
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
_23 July 2025_
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
- 🌟 CPython 3.14 wheels are now built by default - without the `"cpython-prerelease"` `enable` set. It's time to build and upload these wheels to PyPI! This release includes CPython 3.14.0rc1, which is guaranteed to be ABI compatible with the final release. (#2507) Free-threading is no longer experimental in 3.14, so you have to skip it explicitly with `'cp31?t-*'` if you don't support it yet. (#2503)
|
|
324
|
-
- 🌟 Adds the ability to [build wheels for Android](https://cibuildwheel.pypa.io/en/stable/platforms/#android)! Set the [`platform` option](https://cibuildwheel.pypa.io/en/stable/options/#platform) to `android` on Linux or macOS to try it out! (#2349)
|
|
325
|
-
- 🌟 Adds Pyodide 0.28, which builds 3.13 wheels (#2487)
|
|
326
|
-
- ✨ Support for 32-bit `manylinux_2_28` (now a consistent default) and `manylinux_2_34` added (#2500)
|
|
327
|
-
- 🛠 Improved summary, will also use markdown summary output on GHA (#2469)
|
|
328
|
-
- 🛠 The riscv64 images now have a working default (as they are now part of pypy/manylinux), but are still experimental (and behind an `enable`) since you can't push them to PyPI yet (#2506)
|
|
329
|
-
- 🛠 Fixed a typo in the 3.9 MUSL riscv64 identifier (`cp39-musllinux_ricv64` -> `cp39-musllinux_riscv64`) (#2490)
|
|
330
|
-
- 🛠 Mistyping `--only` now shows the correct possibilities, and even suggests near matches on Python 3.14+ (#2499)
|
|
331
|
-
- 🛠 Only support one output from the repair step on linux like other platforms; auditwheel fixed this over four years ago! (#2478)
|
|
332
|
-
- 💼 We now use pattern matching extensively (#2434)
|
|
333
|
-
- 📚 We now have platform maintainers for our special platforms and interpreters! (#2481)
|
|
334
|
-
|
|
335
|
-
<!-- [[[end]]] (sum: loynkRqdzf) -->
|
|
332
|
+
<!-- [[[end]]] (sum: pVWd47S8cA) -->
|
|
336
333
|
|
|
337
334
|
---
|
|
338
335
|
|
|
@@ -29,14 +29,15 @@ While cibuildwheel itself requires a recent Python version to run (we support th
|
|
|
29
29
|
| CPython 3.9 | ✅ | ✅ | ✅ | ✅ | ✅² | ✅ | ✅ | ✅ | ✅ | ✅ | ✅⁵ | N/A | N/A | N/A |
|
|
30
30
|
| CPython 3.10 | ✅ | ✅ | ✅ | ✅ | ✅² | ✅ | ✅ | ✅ | ✅ | ✅ | ✅⁵ | N/A | N/A | N/A |
|
|
31
31
|
| CPython 3.11 | ✅ | ✅ | ✅ | ✅ | ✅² | ✅ | ✅ | ✅ | ✅ | ✅ | ✅⁵ | N/A | N/A | N/A |
|
|
32
|
-
| CPython 3.12 | ✅ | ✅ | ✅ | ✅ | ✅² | ✅ | ✅ | ✅ | ✅ | ✅ | ✅⁵
|
|
33
|
-
| CPython 3.13³ | ✅ | ✅ | ✅ | ✅ | ✅² | ✅ | ✅ | ✅ | ✅ | ✅ | ✅⁵
|
|
34
|
-
| CPython 3.14 | ✅ | ✅ | ✅ | ✅ | ✅² | ✅ | ✅ | ✅ | ✅ | ✅ | ✅⁵
|
|
32
|
+
| CPython 3.12 | ✅ | ✅ | ✅ | ✅ | ✅² | ✅ | ✅ | ✅ | ✅ | ✅ | ✅⁵ | N/A | N/A | ✅⁴ |
|
|
33
|
+
| CPython 3.13³ | ✅ | ✅ | ✅ | ✅ | ✅² | ✅ | ✅ | ✅ | ✅ | ✅ | ✅⁵ | ✅ | ✅ | ✅⁴ |
|
|
34
|
+
| CPython 3.14 | ✅ | ✅ | ✅ | ✅ | ✅² | ✅ | ✅ | ✅ | ✅ | ✅ | ✅⁵ | ✅ | ✅ | N/A |
|
|
35
35
|
| PyPy 3.8 v7.3 | ✅ | ✅ | ✅ | N/A | N/A | ✅¹ | ✅¹ | ✅¹ | N/A | N/A | N/A | N/A | N/A | N/A |
|
|
36
36
|
| PyPy 3.9 v7.3 | ✅ | ✅ | ✅ | N/A | N/A | ✅¹ | ✅¹ | ✅¹ | N/A | N/A | N/A | N/A | N/A | N/A |
|
|
37
37
|
| PyPy 3.10 v7.3 | ✅ | ✅ | ✅ | N/A | N/A | ✅¹ | ✅¹ | ✅¹ | N/A | N/A | N/A | N/A | N/A | N/A |
|
|
38
38
|
| PyPy 3.11 v7.3 | ✅ | ✅ | ✅ | N/A | N/A | ✅¹ | ✅¹ | ✅¹ | N/A | N/A | N/A | N/A | N/A | N/A |
|
|
39
39
|
| GraalPy 3.11 v24.2 | ✅ | ✅ | ✅ | N/A | N/A | ✅¹ | N/A | ✅¹ | N/A | N/A | N/A | N/A | N/A | N/A |
|
|
40
|
+
| GraalPy 3.12 v25.0 | ✅ | ✅ | ✅ | N/A | N/A | ✅¹ | N/A | ✅¹ | N/A | N/A | N/A | N/A | N/A | N/A |
|
|
40
41
|
|
|
41
42
|
<sup>¹ PyPy & GraalPy are only supported for manylinux wheels.</sup><br>
|
|
42
43
|
<sup>² Windows arm64 support is experimental.</sup><br>
|
|
@@ -58,8 +59,8 @@ Usage
|
|
|
58
59
|
|
|
59
60
|
| | Linux | macOS | Windows | Linux ARM | macOS ARM | Windows ARM | Android | iOS |
|
|
60
61
|
|-----------------|-------|-------|---------|-----------|-----------|-------------|---------|-----|
|
|
61
|
-
| GitHub Actions | ✅ | ✅ | ✅ | ✅ | ✅ | ✅² | ✅⁴ |
|
|
62
|
-
| Azure Pipelines | ✅ | ✅ | ✅ | | ✅ | ✅² | ✅⁴ |
|
|
62
|
+
| GitHub Actions | ✅ | ✅ | ✅ | ✅ | ✅ | ✅² | ✅⁴ | ✅³⁵ |
|
|
63
|
+
| Azure Pipelines | ✅ | ✅ | ✅ | | ✅ | ✅² | ✅⁴ | ✅³⁵ |
|
|
63
64
|
| Travis CI | ✅ | | ✅ | ✅ | | | ✅⁴ | |
|
|
64
65
|
| CircleCI | ✅ | ✅ | | ✅ | ✅ | | ✅⁴ | ✅³ |
|
|
65
66
|
| Gitlab CI | ✅ | ✅ | ✅ | ✅¹ | ✅ | | ✅⁴ | ✅³ |
|
|
@@ -67,8 +68,10 @@ Usage
|
|
|
67
68
|
|
|
68
69
|
<sup>¹ [Requires emulation](https://cibuildwheel.pypa.io/en/stable/faq/#emulation), distributed separately. Other services may also support Linux ARM through emulation or third-party build hosts, but these are not tested in our CI.</sup><br>
|
|
69
70
|
<sup>² [Uses cross-compilation](https://cibuildwheel.pypa.io/en/stable/faq/#windows-arm64). It is not possible to test `arm64` on this CI platform.</sup><br>
|
|
70
|
-
<sup>³ Requires a macOS runner; runs tests on the simulator for the runner's architecture
|
|
71
|
+
<sup>³ Requires a macOS runner; runs tests on the simulator for the runner's architecture. </sup><br>
|
|
71
72
|
<sup>⁴ Building for Android requires the runner to be Linux x86_64, macOS ARM64 or macOS x86_64. Testing has [additional requirements](https://cibuildwheel.pypa.io/en/stable/platforms/#android).</sup><br>
|
|
73
|
+
<sup>⁵ The `macos-15` and `macos-latest` images are [incompatible with cibuildwheel at this time](platforms/#ios-system-requirements)</sup><br> when building iOS wheels.
|
|
74
|
+
|
|
72
75
|
<!--intro-end-->
|
|
73
76
|
|
|
74
77
|
Example setup
|
|
@@ -88,7 +91,7 @@ jobs:
|
|
|
88
91
|
runs-on: ${{ matrix.os }}
|
|
89
92
|
strategy:
|
|
90
93
|
matrix:
|
|
91
|
-
os: [ubuntu-latest, ubuntu-24.04-arm, windows-latest, windows-11-arm, macos-
|
|
94
|
+
os: [ubuntu-latest, ubuntu-24.04-arm, windows-latest, windows-11-arm, macos-15-intel, macos-latest]
|
|
92
95
|
|
|
93
96
|
steps:
|
|
94
97
|
- uses: actions/checkout@v5
|
|
@@ -97,7 +100,7 @@ jobs:
|
|
|
97
100
|
- uses: actions/setup-python@v5
|
|
98
101
|
|
|
99
102
|
- name: Install cibuildwheel
|
|
100
|
-
run: python -m pip install cibuildwheel==3.
|
|
103
|
+
run: python -m pip install cibuildwheel==3.2.0
|
|
101
104
|
|
|
102
105
|
- name: Build wheels
|
|
103
106
|
run: python -m cibuildwheel --output-dir wheelhouse
|
|
@@ -227,6 +230,17 @@ Changelog
|
|
|
227
230
|
|
|
228
231
|
<!-- [[[cog from readme_changelog import mini_changelog; print(mini_changelog()) ]]] -->
|
|
229
232
|
|
|
233
|
+
### v3.2.0
|
|
234
|
+
|
|
235
|
+
_22 September 2025_
|
|
236
|
+
|
|
237
|
+
- ✨ Adds GraalPy v25 (Python 3.12) support (#2597)
|
|
238
|
+
- 🛠 Update to CPython 3.14.0rc3 (#2602)
|
|
239
|
+
- 🛠 Adds CPython 3.14.0 prerelease support for Android, and a number of improvements to Android builds (#2568, #2591)
|
|
240
|
+
- 🛠 Improvements to testing on Android, passing environment markers when installing the venv, and providing more debug output when build-verbosity is set (#2575)
|
|
241
|
+
- ⚠️ PyPy 3.10 was moved to `pypy-eol` in the `enable` option, as it is now end-of-life. (#2521)
|
|
242
|
+
- 📚 Docs improvements (#2574, #2601, #2598)
|
|
243
|
+
|
|
230
244
|
### v3.1.4
|
|
231
245
|
|
|
232
246
|
_19 August 2025_
|
|
@@ -276,24 +290,7 @@ _24 July 2025_
|
|
|
276
290
|
- 🐛 Fix a bug showing an incorrect wheel count at the end of execution, and misrepresenting test-only runs in the GitHub Action summary (#2512)
|
|
277
291
|
- 📚 Docs fix (#2510)
|
|
278
292
|
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
_23 July 2025_
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
- 🌟 CPython 3.14 wheels are now built by default - without the `"cpython-prerelease"` `enable` set. It's time to build and upload these wheels to PyPI! This release includes CPython 3.14.0rc1, which is guaranteed to be ABI compatible with the final release. (#2507) Free-threading is no longer experimental in 3.14, so you have to skip it explicitly with `'cp31?t-*'` if you don't support it yet. (#2503)
|
|
285
|
-
- 🌟 Adds the ability to [build wheels for Android](https://cibuildwheel.pypa.io/en/stable/platforms/#android)! Set the [`platform` option](https://cibuildwheel.pypa.io/en/stable/options/#platform) to `android` on Linux or macOS to try it out! (#2349)
|
|
286
|
-
- 🌟 Adds Pyodide 0.28, which builds 3.13 wheels (#2487)
|
|
287
|
-
- ✨ Support for 32-bit `manylinux_2_28` (now a consistent default) and `manylinux_2_34` added (#2500)
|
|
288
|
-
- 🛠 Improved summary, will also use markdown summary output on GHA (#2469)
|
|
289
|
-
- 🛠 The riscv64 images now have a working default (as they are now part of pypy/manylinux), but are still experimental (and behind an `enable`) since you can't push them to PyPI yet (#2506)
|
|
290
|
-
- 🛠 Fixed a typo in the 3.9 MUSL riscv64 identifier (`cp39-musllinux_ricv64` -> `cp39-musllinux_riscv64`) (#2490)
|
|
291
|
-
- 🛠 Mistyping `--only` now shows the correct possibilities, and even suggests near matches on Python 3.14+ (#2499)
|
|
292
|
-
- 🛠 Only support one output from the repair step on linux like other platforms; auditwheel fixed this over four years ago! (#2478)
|
|
293
|
-
- 💼 We now use pattern matching extensively (#2434)
|
|
294
|
-
- 📚 We now have platform maintainers for our special platforms and interpreters! (#2481)
|
|
295
|
-
|
|
296
|
-
<!-- [[[end]]] (sum: loynkRqdzf) -->
|
|
293
|
+
<!-- [[[end]]] (sum: pVWd47S8cA) -->
|
|
297
294
|
|
|
298
295
|
---
|
|
299
296
|
|
|
@@ -23,7 +23,7 @@ import textwrap
|
|
|
23
23
|
import urllib.request
|
|
24
24
|
import xml.dom.minidom
|
|
25
25
|
from collections.abc import Iterable, Mapping, Sequence
|
|
26
|
-
from datetime import datetime
|
|
26
|
+
from datetime import UTC, datetime
|
|
27
27
|
from io import StringIO
|
|
28
28
|
from pathlib import Path
|
|
29
29
|
from typing import Any, Self, TextIO
|
|
@@ -77,7 +77,7 @@ class Project:
|
|
|
77
77
|
self.notes = notes
|
|
78
78
|
else:
|
|
79
79
|
self.num_stars = 0
|
|
80
|
-
self.pushed_at = datetime.
|
|
80
|
+
self.pushed_at = datetime.now(UTC)
|
|
81
81
|
|
|
82
82
|
name_len = len(self.name) + 4
|
|
83
83
|
self.__class__.NAME = max(self.__class__.NAME, name_len)
|
|
@@ -124,7 +124,7 @@ class Project:
|
|
|
124
124
|
return f"[{self.name}]: {self.url}"
|
|
125
125
|
|
|
126
126
|
def info(self) -> str:
|
|
127
|
-
days = (datetime.
|
|
127
|
+
days = (datetime.now(UTC) - self.pushed_at).days
|
|
128
128
|
return f"<!-- {self.name}: {self.num_stars}, last pushed {days} days ago -->"
|
|
129
129
|
|
|
130
130
|
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
import os
|
|
5
|
+
import re
|
|
5
6
|
import shutil
|
|
6
7
|
import subprocess
|
|
7
8
|
import sys
|
|
@@ -13,7 +14,7 @@ from urllib.parse import quote
|
|
|
13
14
|
|
|
14
15
|
import click
|
|
15
16
|
|
|
16
|
-
DIR = Path(__file__).parent.resolve()
|
|
17
|
+
DIR = Path(__file__).parent.parent.resolve()
|
|
17
18
|
|
|
18
19
|
|
|
19
20
|
def shell(cmd: str, *, check: bool, **kwargs: object) -> subprocess.CompletedProcess[str]:
|
|
@@ -38,6 +39,29 @@ class CIService(typing.NamedTuple):
|
|
|
38
39
|
name: str
|
|
39
40
|
dst_config_path: str
|
|
40
41
|
badge_md: str
|
|
42
|
+
config_file_transform: typing.Callable[[str], str] = lambda x: x # identity by default
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
def github_config_file_transform(content: str) -> str:
|
|
46
|
+
# one of the the github configs only builds on main, so we need to remove that restriction
|
|
47
|
+
# so our example build will run on the test branch.
|
|
48
|
+
#
|
|
49
|
+
# replace:
|
|
50
|
+
# """
|
|
51
|
+
# push:
|
|
52
|
+
# branches:
|
|
53
|
+
# - main
|
|
54
|
+
# """
|
|
55
|
+
# with:
|
|
56
|
+
# """
|
|
57
|
+
# push:
|
|
58
|
+
# """"
|
|
59
|
+
content = re.sub(
|
|
60
|
+
r"push:\n\s+branches:\n\s+- main",
|
|
61
|
+
"push:",
|
|
62
|
+
content,
|
|
63
|
+
)
|
|
64
|
+
return content
|
|
41
65
|
|
|
42
66
|
|
|
43
67
|
services = [
|
|
@@ -54,7 +78,8 @@ services = [
|
|
|
54
78
|
CIService(
|
|
55
79
|
name="github",
|
|
56
80
|
dst_config_path=".github/workflows/example.yml",
|
|
57
|
-
badge_md="[](https://github.com/pypa/cibuildwheel/actions?query=branch%3A{branch})",
|
|
82
|
+
config_file_transform=github_config_file_transform,
|
|
58
83
|
),
|
|
59
84
|
CIService(
|
|
60
85
|
name="travis-ci",
|
|
@@ -93,6 +118,8 @@ def run_example_ci_configs(config_files=None):
|
|
|
93
118
|
|
|
94
119
|
if len(config_files) == 0:
|
|
95
120
|
config_files = Path("examples").glob("*-minimal.yml")
|
|
121
|
+
else:
|
|
122
|
+
config_files = [Path(f) for f in config_files]
|
|
96
123
|
|
|
97
124
|
# check each CI service has at most 1 config file
|
|
98
125
|
configs_by_service = set()
|
|
@@ -125,12 +152,15 @@ def run_example_ci_configs(config_files=None):
|
|
|
125
152
|
dst_config_file = example_project / service.dst_config_path
|
|
126
153
|
|
|
127
154
|
dst_config_file.parent.mkdir(parents=True, exist_ok=True)
|
|
128
|
-
|
|
155
|
+
|
|
156
|
+
contents = config_file.read_text(encoding="utf8")
|
|
157
|
+
contents = service.config_file_transform(contents)
|
|
158
|
+
dst_config_file.write_text(contents, encoding="utf8")
|
|
129
159
|
|
|
130
160
|
subprocess.run(["git", "add", example_project], check=True)
|
|
131
161
|
message = textwrap.dedent(
|
|
132
162
|
f"""\
|
|
133
|
-
Test example
|
|
163
|
+
Test example CI configs
|
|
134
164
|
|
|
135
165
|
Testing files: {[str(f) for f in config_files]}
|
|
136
166
|
Generated from branch: {previous_branch}
|