From 3c219a621f4fece814b9dd858bb90c1fb646d6b9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 1 Aug 2022 13:09:27 +0000 Subject: [PATCH 01/17] chore(deps): bump pypa/gh-action-pypi-publish from 1.5.0 to 1.5.1 Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.5.0 to 1.5.1. - [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases) - [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/v1.5.0...v1.5.1) --- updated-dependencies: - dependency-name: pypa/gh-action-pypi-publish dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 30772612..325eaac5 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -34,7 +34,7 @@ jobs: name: artifact path: dist - - uses: pypa/gh-action-pypi-publish@v1.5.0 + - uses: pypa/gh-action-pypi-publish@v1.5.1 with: user: __token__ password: ${{ secrets.pypi_password }} From c234ff5f3609bb03d3d7b7e693503fa1b2bb9dbc Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Tue, 2 Aug 2022 14:43:07 -0400 Subject: [PATCH 02/17] fix: add suggestions to the TOML error message (#1205) * fix: add suggestions to the TOML error message Signed-off-by: Henry Schreiner * Update cibuildwheel/options.py Co-authored-by: Matthieu Darbois Co-authored-by: Matthieu Darbois --- cibuildwheel/options.py | 51 ++++++++++++++++++++-------------- unit_test/options_toml_test.py | 21 +++++++++++++- 2 files changed, 50 insertions(+), 22 deletions(-) diff --git a/cibuildwheel/options.py b/cibuildwheel/options.py index 30803604..c8d050fa 100644 --- a/cibuildwheel/options.py +++ b/cibuildwheel/options.py @@ -1,5 +1,6 @@ from __future__ import annotations +import difflib import functools import os import sys @@ -188,14 +189,10 @@ class OptionsReader: # Validate project config for option_name in config_options: - if not self._is_valid_global_option(option_name): - raise ConfigOptionError(f'Option "{option_name}" not supported in a config file') + self._validate_global_option(option_name) for option_name in config_platform_options: - if not self._is_valid_platform_option(option_name): - raise ConfigOptionError( - f'Option "{option_name}" not supported in the "{self.platform}" section' - ) + self._validate_platform_option(option_name) self.config_options = config_options self.config_platform_options = config_platform_options @@ -207,40 +204,51 @@ class OptionsReader: if config_overrides is not None: if not isinstance(config_overrides, list): - raise ConfigOptionError('"tool.cibuildwheel.overrides" must be a list') + raise ConfigOptionError("'tool.cibuildwheel.overrides' must be a list") for config_override in config_overrides: select = config_override.pop("select", None) if not select: - raise ConfigOptionError('"select" must be set in an override') + raise ConfigOptionError("'select' must be set in an override") if isinstance(select, list): select = " ".join(select) self.overrides.append(Override(select, config_override)) - def _is_valid_global_option(self, name: str) -> bool: + def _validate_global_option(self, name: str) -> None: """ - Returns True if an option with this name is allowed in the + Raises an error if an option with this name is not allowed in the [tool.cibuildwheel] section of a config file. """ allowed_option_names = self.default_options.keys() | PLATFORMS | {"overrides"} - return name in allowed_option_names + if name not in allowed_option_names: + msg = f"Option {name!r} not supported in a config file." + matches = difflib.get_close_matches(name, allowed_option_names, 1, 0.7) + if matches: + msg += f" Perhaps you meant {matches[0]!r}?" + raise ConfigOptionError(msg) - def _is_valid_platform_option(self, name: str) -> bool: + def _validate_platform_option(self, name: str) -> None: """ - Returns True if an option with this name is allowed in the + Raises an error if an option with this name is not allowed in the [tool.cibuildwheel.] section of a config file. """ disallowed_platform_options = self.disallow.get(self.platform, set()) if name in disallowed_platform_options: - return False + msg = f"{name!r} is not allowed in {disallowed_platform_options}" + raise ConfigOptionError(msg) allowed_option_names = self.default_options.keys() | self.default_platform_options.keys() - return name in allowed_option_names + if name not in allowed_option_names: + msg = f"Option {name!r} not supported in the {self.platform!r} section" + matches = difflib.get_close_matches(name, allowed_option_names, 1, 0.7) + if matches: + msg += f" Perhaps you meant {matches[0]!r}?" + raise ConfigOptionError(msg) def _load_file(self, filename: Path) -> tuple[dict[str, Any], dict[str, Any]]: """ @@ -290,7 +298,8 @@ class OptionsReader: """ if name not in self.default_options and name not in self.default_platform_options: - raise ConfigOptionError(f"{name} must be in cibuildwheel/resources/defaults.toml file") + msg = f"{name!r} must be in cibuildwheel/resources/defaults.toml file to be accessed." + raise ConfigOptionError(msg) # Environment variable form envvar = f"CIBW_{name.upper().replace('-', '_')}" @@ -314,12 +323,12 @@ class OptionsReader: if isinstance(result, dict): if table is None: - raise ConfigOptionError(f"{name} does not accept a table") + raise ConfigOptionError(f"{name!r} does not accept a table") return table["sep"].join(table["item"].format(k=k, v=v) for k, v in result.items()) if isinstance(result, list): if sep is None: - raise ConfigOptionError(f"{name} does not accept a list") + raise ConfigOptionError(f"{name!r} does not accept a list") return sep.join(result) if isinstance(result, int): @@ -393,7 +402,7 @@ class Options: container_engine_str = self.reader.get("container-engine") if container_engine_str not in ["docker", "podman"]: - msg = f"cibuildwheel: Unrecognised container_engine '{container_engine_str}', only 'docker' and 'podman' are supported" + msg = f"cibuildwheel: Unrecognised container_engine {container_engine_str!r}, only 'docker' and 'podman' are supported" print(msg, file=sys.stderr) sys.exit(2) @@ -437,7 +446,7 @@ class Options: elif build_frontend_str == "pip": build_frontend = "pip" else: - msg = f"cibuildwheel: Unrecognised build frontend '{build_frontend_str}', only 'pip' and 'build' are supported" + msg = f"cibuildwheel: Unrecognised build frontend {build_frontend_str!r}, only 'pip' and 'build' are supported" print(msg, file=sys.stderr) sys.exit(2) @@ -445,7 +454,7 @@ class Options: environment = parse_environment(environment_config) except (EnvironmentParseError, ValueError): print( - f'cibuildwheel: Malformed environment option "{environment_config}"', + f"cibuildwheel: Malformed environment option {environment_config!r}", file=sys.stderr, ) traceback.print_exc(None, sys.stderr) diff --git a/unit_test/options_toml_test.py b/unit_test/options_toml_test.py index a3fab2cc..a0a1705d 100644 --- a/unit_test/options_toml_test.py +++ b/unit_test/options_toml_test.py @@ -160,9 +160,28 @@ repairs-wheel-command = "repair-project-linux" """ ) - with pytest.raises(ConfigOptionError): + with pytest.raises(ConfigOptionError) as excinfo: OptionsReader(pyproject_toml, platform="linux") + assert "repair-wheel-command" in str(excinfo.value) + + +def test_underscores_in_key(tmp_path): + # Note that platform contents are only checked when running + # for that platform. + pyproject_toml = tmp_path / "pyproject.toml" + pyproject_toml.write_text( + """ +[tool.cibuildwheel] +repair_wheel_command = "repair-project-linux" +""" + ) + + with pytest.raises(ConfigOptionError) as excinfo: + OptionsReader(pyproject_toml, platform="linux") + + assert "repair-wheel-command" in str(excinfo.value) + def test_unexpected_table(tmp_path): pyproject_toml = tmp_path / "pyproject.toml" From 8d5cb4bc1fc82f72bf57901ebd26781e9c814dbd Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 2 Aug 2022 20:46:57 +0200 Subject: [PATCH 03/17] doc: update github-with-qemu.yml example (#1206) - remove actions/setup-python step - bump docker/setup-qemu-action version --- examples/github-with-qemu.yml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/examples/github-with-qemu.yml b/examples/github-with-qemu.yml index 1ba744d2..2911f98c 100644 --- a/examples/github-with-qemu.yml +++ b/examples/github-with-qemu.yml @@ -13,14 +13,9 @@ jobs: steps: - uses: actions/checkout@v3 - - uses: actions/setup-python@v3 - name: Install Python - with: - python-version: '3.7' - - name: Set up QEMU if: runner.os == 'Linux' - uses: docker/setup-qemu-action@v1 + uses: docker/setup-qemu-action@v2 with: platforms: all From 35c795e4c6fcb627dc1b07998ee28f3310f9a768 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 2 Aug 2022 22:56:59 +0200 Subject: [PATCH 04/17] fix: update workflow (#1209) move the `pip-compile` command directly in `noxfile.py` --- bin/update_dependencies.py | 41 -------------------------------------- noxfile.py | 23 +++++++++++++++++++-- 2 files changed, 21 insertions(+), 43 deletions(-) delete mode 100755 bin/update_dependencies.py diff --git a/bin/update_dependencies.py b/bin/update_dependencies.py deleted file mode 100755 index c0d7f200..00000000 --- a/bin/update_dependencies.py +++ /dev/null @@ -1,41 +0,0 @@ -#!/usr/bin/env python3 - -from __future__ import annotations - -import os -import shutil -import subprocess -import sys -from pathlib import Path - -DIR = Path(__file__).parent.resolve() -RESOURCES = DIR.parent / "cibuildwheel/resources" - -python_version = "".join(str(v) for v in sys.version_info[:2]) - -env = os.environ.copy() - -# CUSTOM_COMPILE_COMMAND is a pip-compile option that tells users how to -# regenerate the constraints files -env["CUSTOM_COMPILE_COMMAND"] = "bin/update_dependencies.py" - -os.chdir(DIR.parent) - -subprocess.run( - [ - "pip-compile", - "--allow-unsafe", - "--upgrade", - "cibuildwheel/resources/constraints.in", - f"--output-file=cibuildwheel/resources/constraints-python{python_version}.txt", - ], - check=True, - env=env, -) - -# default constraints.txt -if python_version == "39": - shutil.copyfile( - RESOURCES / f"constraints-python{python_version}.txt", - RESOURCES / "constraints.txt", - ) diff --git a/noxfile.py b/noxfile.py index 659e7ff5..142ea3fe 100644 --- a/noxfile.py +++ b/noxfile.py @@ -65,8 +65,27 @@ def update_constraints(session: nox.Session) -> None: """ Update the dependencies inplace. """ - session.install("requests", "pip-tools") - session.run("python", "bin/update_dependencies.py") + session.install("pip-tools") + assert isinstance(session.python, str) + python_version = session.python.replace(".", "") + env = os.environ.copy() + # CUSTOM_COMPILE_COMMAND is a pip-compile option that tells users how to + # regenerate the constraints files + env["CUSTOM_COMPILE_COMMAND"] = f"nox -s {session.name}" + session.run( + "pip-compile", + "--allow-unsafe", + "--upgrade", + "cibuildwheel/resources/constraints.in", + f"--output-file=cibuildwheel/resources/constraints-python{python_version}.txt", + env=env, + ) + if session.python == PYTHON_ALL_VERSIONS[-1]: + RESOURCES = DIR / "cibuildwheel" / "resources" + shutil.copyfile( + RESOURCES / f"constraints-python{python_version}.txt", + RESOURCES / "constraints.txt", + ) @nox.session From 61480e2264d2a11c9a0536b1ad6fbe209f79187a Mon Sep 17 00:00:00 2001 From: mayeut Date: Sat, 6 Aug 2022 11:15:11 +0200 Subject: [PATCH 05/17] fix: don't build `universal2` as a default on macOS arm64 runners --- cibuildwheel/architecture.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/cibuildwheel/architecture.py b/cibuildwheel/architecture.py index 82a78b30..7b90ff94 100644 --- a/cibuildwheel/architecture.py +++ b/cibuildwheel/architecture.py @@ -66,10 +66,6 @@ class Architecture(Enum): if platform == "windows" and native_architecture == Architecture.AMD64: result.add(Architecture.x86) - if platform == "macos" and native_architecture == Architecture.arm64: - # arm64 can build and test both archs of a universal2 wheel. - result.add(Architecture.universal2) - return result @staticmethod From 03c8f5b741ca25a1ece914117bfe31b2eaa59c6f Mon Sep 17 00:00:00 2001 From: Joe Rickerby Date: Mon, 8 Aug 2022 09:15:36 +0100 Subject: [PATCH 06/17] Docs/examples updates --- docs/faq.md | 11 +++++------ docs/options.md | 2 +- examples/github-apple-silicon.yml | 2 +- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/docs/faq.md b/docs/faq.md index 07c5397e..614e7ef6 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -53,11 +53,11 @@ to load on Apple Silicon. available. Generally speaking, because Pip 20.3 is required for the `universal2` wheel, -most packages should provide both `x86_64` and `universal2` wheels for now. -Once Pip 20.3+ is common on macOS, then it should be possible to ship only the -`universal2` wheel. +most packages should provide both `x86_64` and one of `universal2`/`arm64` +wheels for now. When Pip 20.3+ is common on macOS, then it might be possible +to ship only the `universal2` wheel. -**Apple Silicon wheels are not built by default**, but can be enabled by adding extra archs to the [`CIBW_ARCHS_MACOS` option](options.md#archs) - e.g. `x86_64 arm64 universal2`. Cross-compilation is provided by the Xcode toolchain. +**Apple Silicon wheels are not built by default on Intel runners**, but can be enabled by adding extra archs to the [`CIBW_ARCHS_MACOS` option](options.md#archs) - e.g. `x86_64 arm64`. Cross-compilation is provided by the Xcode toolchain. !!! important When cross-compiling on Intel, it is not possible to test `arm64` and the `arm64` part of a `universal2` wheel. @@ -66,8 +66,7 @@ Once Pip 20.3+ is common on macOS, then it should be possible to ship only the Hopefully, cross-compilation is a temporary situation. Once we have widely available Apple Silicon CI runners, we can build and test `arm64` and -`universal2` wheels natively. That's why `universal2` wheels are not yet built -by default, and require opt-in by setting `CIBW_ARCHS_MACOS`. +`universal2` wheels natively. That's why `universal2`/`arm64` wheels require opt-in by setting `CIBW_ARCHS_MACOS`. !!! note Your runner needs Xcode Command Line Tools 12.2 or later to build `universal2` or `arm64`. diff --git a/docs/options.md b/docs/options.md index 75c2fd80..b6e0b0c5 100644 --- a/docs/options.md +++ b/docs/options.md @@ -351,7 +351,7 @@ Default: `auto` | Linux / Intel | `x86_64` | `x86_64` `i686` | `x86_64` | `i686` | | Windows / Intel | `AMD64` | `AMD64` `x86` | `AMD64` | `x86` | | macOS / Intel | `x86_64` | `x86_64` | `x86_64` | | -| macOS / Apple Silicon | `arm64` | `arm64` `universal2` | `arm64` `universal2`| | +| macOS / Apple Silicon | `arm64` | `arm64` | `arm64` | | If not listed above, `auto` is the same as `native`. diff --git a/examples/github-apple-silicon.yml b/examples/github-apple-silicon.yml index 95154a33..d810dfd6 100644 --- a/examples/github-apple-silicon.yml +++ b/examples/github-apple-silicon.yml @@ -12,7 +12,7 @@ jobs: - name: Build wheels uses: pypa/cibuildwheel@v2.8.1 env: - CIBW_ARCHS_MACOS: x86_64 universal2 + CIBW_ARCHS_MACOS: x86_64 arm64 - uses: actions/upload-artifact@v3 with: From ac42f66a7234eaf9949f8c95870f918a532c9ca9 Mon Sep 17 00:00:00 2001 From: Joe Rickerby Date: Mon, 8 Aug 2022 18:20:57 +0100 Subject: [PATCH 07/17] Change expected_wheels to only expect universal2 when a flag is passed --- test/test_macos_archs.py | 2 +- test/utils.py | 15 ++++++++------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/test/test_macos_archs.py b/test/test_macos_archs.py index d3a56fb7..fdd665c0 100644 --- a/test/test_macos_archs.py +++ b/test/test_macos_archs.py @@ -11,7 +11,7 @@ basic_project = test_projects.new_c_project() ALL_MACOS_WHEELS = { *utils.expected_wheels("spam", "0.1.0", machine_arch="x86_64"), - *utils.expected_wheels("spam", "0.1.0", machine_arch="arm64"), + *utils.expected_wheels("spam", "0.1.0", machine_arch="arm64", include_universal2=True), } diff --git a/test/utils.py b/test/utils.py index 947c8968..5d610516 100644 --- a/test/utils.py +++ b/test/utils.py @@ -116,6 +116,7 @@ def expected_wheels( macosx_deployment_target="10.9", machine_arch=None, python_abi_tags=None, + include_universal2=False, ): """ Returns a list of expected wheels from a run of cibuildwheel. @@ -199,14 +200,14 @@ def expected_wheels( arm64_macosx_deployment_target = _get_arm64_macosx_deployment_target( macosx_deployment_target ) - platform_tags = [ - f'macosx_{macosx_deployment_target.replace(".", "_")}_universal2', - f'macosx_{arm64_macosx_deployment_target.replace(".", "_")}_arm64', - ] + platform_tags = [f'macosx_{arm64_macosx_deployment_target.replace(".", "_")}_arm64'] else: - platform_tags = [ - f'macosx_{macosx_deployment_target.replace(".", "_")}_x86_64', - ] + platform_tags = [f'macosx_{macosx_deployment_target.replace(".", "_")}_x86_64'] + + if include_universal2: + platform_tags.append( + f'macosx_{macosx_deployment_target.replace(".", "_")}_universal2', + ) else: raise Exception("unsupported platform") From 66c8e84265ca1c4e3e51014e50d4337ac1fa1873 Mon Sep 17 00:00:00 2001 From: "cibuildwheel-bot[bot]" <83877280+cibuildwheel-bot[bot]@users.noreply.github.com> Date: Mon, 8 Aug 2022 16:51:14 -0400 Subject: [PATCH 08/17] [Bot] Update dependencies (#1213) Update dependencies Co-authored-by: cibuildwheel-bot[bot] <83877280+cibuildwheel-bot[bot]@users.noreply.github.com> --- cibuildwheel/resources/build-platforms.toml | 24 +- .../resources/constraints-python310.txt | 10 +- .../resources/constraints-python311.txt | 10 +- .../resources/constraints-python36.txt | 6 +- .../resources/constraints-python37.txt | 10 +- .../resources/constraints-python38.txt | 10 +- .../resources/constraints-python39.txt | 10 +- cibuildwheel/resources/constraints.txt | 12 +- .../resources/pinned_docker_images.cfg | 64 +++--- cibuildwheel/resources/virtualenv.toml | 4 +- docs/working-examples.md | 212 +++++++++--------- 11 files changed, 179 insertions(+), 193 deletions(-) diff --git a/cibuildwheel/resources/build-platforms.toml b/cibuildwheel/resources/build-platforms.toml index 533c4db6..3670c98d 100644 --- a/cibuildwheel/resources/build-platforms.toml +++ b/cibuildwheel/resources/build-platforms.toml @@ -81,12 +81,12 @@ python_configurations = [ { identifier = "cp39-macosx_x86_64", version = "3.9", url = "https://www.python.org/ftp/python/3.9.13/python-3.9.13-macos11.pkg" }, { identifier = "cp39-macosx_arm64", version = "3.9", url = "https://www.python.org/ftp/python/3.9.13/python-3.9.13-macos11.pkg" }, { identifier = "cp39-macosx_universal2", version = "3.9", url = "https://www.python.org/ftp/python/3.9.13/python-3.9.13-macos11.pkg" }, - { identifier = "cp310-macosx_x86_64", version = "3.10", url = "https://www.python.org/ftp/python/3.10.5/python-3.10.5-macos11.pkg" }, - { identifier = "cp310-macosx_arm64", version = "3.10", url = "https://www.python.org/ftp/python/3.10.5/python-3.10.5-macos11.pkg" }, - { identifier = "cp310-macosx_universal2", version = "3.10", url = "https://www.python.org/ftp/python/3.10.5/python-3.10.5-macos11.pkg" }, - { identifier = "cp311-macosx_x86_64", version = "3.11", url = "https://www.python.org/ftp/python/3.11.0/python-3.11.0b4-macos11.pkg" }, - { identifier = "cp311-macosx_arm64", version = "3.11", url = "https://www.python.org/ftp/python/3.11.0/python-3.11.0b4-macos11.pkg" }, - { identifier = "cp311-macosx_universal2", version = "3.11", url = "https://www.python.org/ftp/python/3.11.0/python-3.11.0b4-macos11.pkg" }, + { identifier = "cp310-macosx_x86_64", version = "3.10", url = "https://www.python.org/ftp/python/3.10.6/python-3.10.6-macos11.pkg" }, + { identifier = "cp310-macosx_arm64", version = "3.10", url = "https://www.python.org/ftp/python/3.10.6/python-3.10.6-macos11.pkg" }, + { identifier = "cp310-macosx_universal2", version = "3.10", url = "https://www.python.org/ftp/python/3.10.6/python-3.10.6-macos11.pkg" }, + { identifier = "cp311-macosx_x86_64", version = "3.11", url = "https://www.python.org/ftp/python/3.11.0/python-3.11.0b5-macos11.pkg" }, + { identifier = "cp311-macosx_arm64", version = "3.11", url = "https://www.python.org/ftp/python/3.11.0/python-3.11.0b5-macos11.pkg" }, + { identifier = "cp311-macosx_universal2", version = "3.11", url = "https://www.python.org/ftp/python/3.11.0/python-3.11.0b5-macos11.pkg" }, { identifier = "pp37-macosx_x86_64", version = "3.7", url = "https://downloads.python.org/pypy/pypy3.7-v7.3.9-osx64.tar.bz2" }, { identifier = "pp38-macosx_x86_64", version = "3.8", url = "https://downloads.python.org/pypy/pypy3.8-v7.3.9-osx64.tar.bz2" }, { identifier = "pp39-macosx_x86_64", version = "3.9", url = "https://downloads.python.org/pypy/pypy3.9-v7.3.9-osx64.tar.bz2" }, @@ -102,13 +102,13 @@ python_configurations = [ { identifier = "cp38-win_amd64", version = "3.8.10", arch = "64" }, { identifier = "cp39-win32", version = "3.9.13", arch = "32" }, { identifier = "cp39-win_amd64", version = "3.9.13", arch = "64" }, - { identifier = "cp310-win32", version = "3.10.5", arch = "32" }, - { identifier = "cp310-win_amd64", version = "3.10.5", arch = "64" }, - { identifier = "cp311-win32", version = "3.11.0-b4", arch = "32" }, - { identifier = "cp311-win_amd64", version = "3.11.0-b4", arch = "64" }, + { identifier = "cp310-win32", version = "3.10.6", arch = "32" }, + { identifier = "cp310-win_amd64", version = "3.10.6", arch = "64" }, + { identifier = "cp311-win32", version = "3.11.0-b5", arch = "32" }, + { identifier = "cp311-win_amd64", version = "3.11.0-b5", arch = "64" }, { identifier = "cp39-win_arm64", version = "3.9.10", arch = "ARM64" }, - { identifier = "cp310-win_arm64", version = "3.10.5", arch = "ARM64" }, - { identifier = "cp311-win_arm64", version = "3.11.0-b4", arch = "ARM64" }, + { identifier = "cp310-win_arm64", version = "3.10.6", arch = "ARM64" }, + { identifier = "cp311-win_arm64", version = "3.11.0-b5", arch = "ARM64" }, { identifier = "pp37-win_amd64", version = "3.7", arch = "64", url = "https://downloads.python.org/pypy/pypy3.7-v7.3.9-win64.zip" }, { identifier = "pp38-win_amd64", version = "3.8", arch = "64", url = "https://downloads.python.org/pypy/pypy3.8-v7.3.9-win64.zip" }, { identifier = "pp39-win_amd64", version = "3.9", arch = "64", url = "https://downloads.python.org/pypy/pypy3.9-v7.3.9-win64.zip" }, diff --git a/cibuildwheel/resources/constraints-python310.txt b/cibuildwheel/resources/constraints-python310.txt index f3d3b7f9..bb8a3ebf 100644 --- a/cibuildwheel/resources/constraints-python310.txt +++ b/cibuildwheel/resources/constraints-python310.txt @@ -2,7 +2,7 @@ # This file is autogenerated by pip-compile with python 3.10 # To update, run: # -# bin/update_dependencies.py +# nox -s update_constraints-3.10 # delocate==0.10.2 # via -r cibuildwheel/resources/constraints.in @@ -12,11 +12,9 @@ filelock==3.7.1 # via virtualenv platformdirs==2.5.2 # via virtualenv -six==1.16.0 - # via virtualenv typing-extensions==4.3.0 # via delocate -virtualenv==20.15.1 +virtualenv==20.16.3 # via -r cibuildwheel/resources/constraints.in wheel==0.37.1 # via @@ -24,7 +22,7 @@ wheel==0.37.1 # delocate # The following packages are considered to be unsafe in a requirements file: -pip==22.2 +pip==22.2.2 # via -r cibuildwheel/resources/constraints.in -setuptools==63.2.0 +setuptools==63.4.2 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/constraints-python311.txt b/cibuildwheel/resources/constraints-python311.txt index 849abf49..e8de8fd7 100644 --- a/cibuildwheel/resources/constraints-python311.txt +++ b/cibuildwheel/resources/constraints-python311.txt @@ -2,7 +2,7 @@ # This file is autogenerated by pip-compile with python 3.11 # To update, run: # -# bin/update_dependencies.py +# nox -s update_constraints-3.11 # delocate==0.10.2 # via -r cibuildwheel/resources/constraints.in @@ -12,11 +12,9 @@ filelock==3.7.1 # via virtualenv platformdirs==2.5.2 # via virtualenv -six==1.16.0 - # via virtualenv typing-extensions==4.3.0 # via delocate -virtualenv==20.15.1 +virtualenv==20.16.3 # via -r cibuildwheel/resources/constraints.in wheel==0.37.1 # via @@ -24,7 +22,7 @@ wheel==0.37.1 # delocate # The following packages are considered to be unsafe in a requirements file: -pip==22.2 +pip==22.2.2 # via -r cibuildwheel/resources/constraints.in -setuptools==63.2.0 +setuptools==63.4.2 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/constraints-python36.txt b/cibuildwheel/resources/constraints-python36.txt index 8ab9294a..51328239 100644 --- a/cibuildwheel/resources/constraints-python36.txt +++ b/cibuildwheel/resources/constraints-python36.txt @@ -2,7 +2,7 @@ # This file is autogenerated by pip-compile with python 3.6 # To update, run: # -# bin/update_dependencies.py +# nox -s update_constraints-3.6 # delocate==0.10.2 # via -r cibuildwheel/resources/constraints.in @@ -16,13 +16,11 @@ importlib-resources==5.4.0 # via virtualenv platformdirs==2.4.0 # via virtualenv -six==1.16.0 - # via virtualenv typing-extensions==4.1.1 # via # delocate # importlib-metadata -virtualenv==20.15.1 +virtualenv==20.16.3 # via -r cibuildwheel/resources/constraints.in wheel==0.37.1 # via diff --git a/cibuildwheel/resources/constraints-python37.txt b/cibuildwheel/resources/constraints-python37.txt index 78ea26b2..4e9e975d 100644 --- a/cibuildwheel/resources/constraints-python37.txt +++ b/cibuildwheel/resources/constraints-python37.txt @@ -2,7 +2,7 @@ # This file is autogenerated by pip-compile with python 3.7 # To update, run: # -# bin/update_dependencies.py +# nox -s update_constraints-3.7 # delocate==0.10.2 # via -r cibuildwheel/resources/constraints.in @@ -14,13 +14,11 @@ importlib-metadata==4.12.0 # via virtualenv platformdirs==2.5.2 # via virtualenv -six==1.16.0 - # via virtualenv typing-extensions==4.3.0 # via # delocate # importlib-metadata -virtualenv==20.15.1 +virtualenv==20.16.3 # via -r cibuildwheel/resources/constraints.in wheel==0.37.1 # via @@ -30,7 +28,7 @@ zipp==3.8.1 # via importlib-metadata # The following packages are considered to be unsafe in a requirements file: -pip==22.2 +pip==22.2.2 # via -r cibuildwheel/resources/constraints.in -setuptools==63.2.0 +setuptools==63.4.2 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/constraints-python38.txt b/cibuildwheel/resources/constraints-python38.txt index aa06de6e..24f5a698 100644 --- a/cibuildwheel/resources/constraints-python38.txt +++ b/cibuildwheel/resources/constraints-python38.txt @@ -2,7 +2,7 @@ # This file is autogenerated by pip-compile with python 3.8 # To update, run: # -# bin/update_dependencies.py +# nox -s update_constraints-3.8 # delocate==0.10.2 # via -r cibuildwheel/resources/constraints.in @@ -12,11 +12,9 @@ filelock==3.7.1 # via virtualenv platformdirs==2.5.2 # via virtualenv -six==1.16.0 - # via virtualenv typing-extensions==4.3.0 # via delocate -virtualenv==20.15.1 +virtualenv==20.16.3 # via -r cibuildwheel/resources/constraints.in wheel==0.37.1 # via @@ -24,7 +22,7 @@ wheel==0.37.1 # delocate # The following packages are considered to be unsafe in a requirements file: -pip==22.2 +pip==22.2.2 # via -r cibuildwheel/resources/constraints.in -setuptools==63.2.0 +setuptools==63.4.2 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/constraints-python39.txt b/cibuildwheel/resources/constraints-python39.txt index 0aed606e..9ad88f0d 100644 --- a/cibuildwheel/resources/constraints-python39.txt +++ b/cibuildwheel/resources/constraints-python39.txt @@ -2,7 +2,7 @@ # This file is autogenerated by pip-compile with python 3.9 # To update, run: # -# bin/update_dependencies.py +# nox -s update_constraints-3.9 # delocate==0.10.2 # via -r cibuildwheel/resources/constraints.in @@ -12,11 +12,9 @@ filelock==3.7.1 # via virtualenv platformdirs==2.5.2 # via virtualenv -six==1.16.0 - # via virtualenv typing-extensions==4.3.0 # via delocate -virtualenv==20.15.1 +virtualenv==20.16.3 # via -r cibuildwheel/resources/constraints.in wheel==0.37.1 # via @@ -24,7 +22,7 @@ wheel==0.37.1 # delocate # The following packages are considered to be unsafe in a requirements file: -pip==22.2 +pip==22.2.2 # via -r cibuildwheel/resources/constraints.in -setuptools==63.2.0 +setuptools==63.4.2 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/constraints.txt b/cibuildwheel/resources/constraints.txt index 0aed606e..e8de8fd7 100644 --- a/cibuildwheel/resources/constraints.txt +++ b/cibuildwheel/resources/constraints.txt @@ -1,8 +1,8 @@ # -# This file is autogenerated by pip-compile with python 3.9 +# This file is autogenerated by pip-compile with python 3.11 # To update, run: # -# bin/update_dependencies.py +# nox -s update_constraints-3.11 # delocate==0.10.2 # via -r cibuildwheel/resources/constraints.in @@ -12,11 +12,9 @@ filelock==3.7.1 # via virtualenv platformdirs==2.5.2 # via virtualenv -six==1.16.0 - # via virtualenv typing-extensions==4.3.0 # via delocate -virtualenv==20.15.1 +virtualenv==20.16.3 # via -r cibuildwheel/resources/constraints.in wheel==0.37.1 # via @@ -24,7 +22,7 @@ wheel==0.37.1 # delocate # The following packages are considered to be unsafe in a requirements file: -pip==22.2 +pip==22.2.2 # via -r cibuildwheel/resources/constraints.in -setuptools==63.2.0 +setuptools==63.4.2 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/pinned_docker_images.cfg b/cibuildwheel/resources/pinned_docker_images.cfg index 1fe4bf41..e9a7e188 100644 --- a/cibuildwheel/resources/pinned_docker_images.cfg +++ b/cibuildwheel/resources/pinned_docker_images.cfg @@ -1,48 +1,48 @@ [x86_64] -manylinux1 = quay.io/pypa/manylinux1_x86_64:2022-07-17-f8ddacc -manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2022-07-21-947f13c -manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2022-07-21-947f13c -manylinux_2_24 = quay.io/pypa/manylinux_2_24_x86_64:2022-07-21-947f13c -manylinux_2_28 = quay.io/pypa/manylinux_2_28_x86_64:2022-07-21-947f13c -musllinux_1_1 = quay.io/pypa/musllinux_1_1_x86_64:2022-07-21-947f13c +manylinux1 = quay.io/pypa/manylinux1_x86_64:2022-08-08-7292f33 +manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2022-08-05-4535177 +manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2022-08-07-986762e +manylinux_2_24 = quay.io/pypa/manylinux_2_24_x86_64:2022-08-07-986762e +manylinux_2_28 = quay.io/pypa/manylinux_2_28_x86_64:2022-08-07-986762e +musllinux_1_1 = quay.io/pypa/musllinux_1_1_x86_64:2022-08-07-986762e [i686] -manylinux1 = quay.io/pypa/manylinux1_i686:2022-07-17-f8ddacc -manylinux2010 = quay.io/pypa/manylinux2010_i686:2022-07-21-947f13c -manylinux2014 = quay.io/pypa/manylinux2014_i686:2022-07-21-947f13c -manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2022-07-21-947f13c -musllinux_1_1 = quay.io/pypa/musllinux_1_1_i686:2022-07-21-947f13c +manylinux1 = quay.io/pypa/manylinux1_i686:2022-08-08-7292f33 +manylinux2010 = quay.io/pypa/manylinux2010_i686:2022-08-05-4535177 +manylinux2014 = quay.io/pypa/manylinux2014_i686:2022-08-07-986762e +manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2022-08-07-986762e +musllinux_1_1 = quay.io/pypa/musllinux_1_1_i686:2022-08-07-986762e [pypy_x86_64] -manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2022-07-21-947f13c -manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2022-07-21-947f13c -manylinux_2_24 = quay.io/pypa/manylinux_2_24_x86_64:2022-07-21-947f13c -manylinux_2_28 = quay.io/pypa/manylinux_2_28_x86_64:2022-07-21-947f13c +manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2022-08-05-4535177 +manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2022-08-07-986762e +manylinux_2_24 = quay.io/pypa/manylinux_2_24_x86_64:2022-08-07-986762e +manylinux_2_28 = quay.io/pypa/manylinux_2_28_x86_64:2022-08-07-986762e [pypy_i686] -manylinux2010 = quay.io/pypa/manylinux2010_i686:2022-07-21-947f13c -manylinux2014 = quay.io/pypa/manylinux2014_i686:2022-07-21-947f13c -manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2022-07-21-947f13c +manylinux2010 = quay.io/pypa/manylinux2010_i686:2022-08-05-4535177 +manylinux2014 = quay.io/pypa/manylinux2014_i686:2022-08-07-986762e +manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2022-08-07-986762e [aarch64] -manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2022-07-21-947f13c -manylinux_2_24 = quay.io/pypa/manylinux_2_24_aarch64:2022-07-21-947f13c -manylinux_2_28 = quay.io/pypa/manylinux_2_28_aarch64:2022-07-21-947f13c -musllinux_1_1 = quay.io/pypa/musllinux_1_1_aarch64:2022-07-21-947f13c +manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2022-08-07-986762e +manylinux_2_24 = quay.io/pypa/manylinux_2_24_aarch64:2022-08-07-986762e +manylinux_2_28 = quay.io/pypa/manylinux_2_28_aarch64:2022-08-07-986762e +musllinux_1_1 = quay.io/pypa/musllinux_1_1_aarch64:2022-08-07-986762e [ppc64le] -manylinux2014 = quay.io/pypa/manylinux2014_ppc64le:2022-07-21-947f13c -manylinux_2_24 = quay.io/pypa/manylinux_2_24_ppc64le:2022-07-21-947f13c -manylinux_2_28 = quay.io/pypa/manylinux_2_28_ppc64le:2022-07-21-947f13c -musllinux_1_1 = quay.io/pypa/musllinux_1_1_ppc64le:2022-07-21-947f13c +manylinux2014 = quay.io/pypa/manylinux2014_ppc64le:2022-08-07-986762e +manylinux_2_24 = quay.io/pypa/manylinux_2_24_ppc64le:2022-08-07-986762e +manylinux_2_28 = quay.io/pypa/manylinux_2_28_ppc64le:2022-08-07-986762e +musllinux_1_1 = quay.io/pypa/musllinux_1_1_ppc64le:2022-08-07-986762e [s390x] -manylinux2014 = quay.io/pypa/manylinux2014_s390x:2022-07-21-947f13c -manylinux_2_24 = quay.io/pypa/manylinux_2_24_s390x:2022-07-21-947f13c -musllinux_1_1 = quay.io/pypa/musllinux_1_1_s390x:2022-07-21-947f13c +manylinux2014 = quay.io/pypa/manylinux2014_s390x:2022-08-07-986762e +manylinux_2_24 = quay.io/pypa/manylinux_2_24_s390x:2022-08-07-986762e +musllinux_1_1 = quay.io/pypa/musllinux_1_1_s390x:2022-08-07-986762e [pypy_aarch64] -manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2022-07-21-947f13c -manylinux_2_24 = quay.io/pypa/manylinux_2_24_aarch64:2022-07-21-947f13c -manylinux_2_28 = quay.io/pypa/manylinux_2_28_aarch64:2022-07-21-947f13c +manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2022-08-07-986762e +manylinux_2_24 = quay.io/pypa/manylinux_2_24_aarch64:2022-08-07-986762e +manylinux_2_28 = quay.io/pypa/manylinux_2_28_aarch64:2022-08-07-986762e diff --git a/cibuildwheel/resources/virtualenv.toml b/cibuildwheel/resources/virtualenv.toml index c9ae14af..c14592cd 100644 --- a/cibuildwheel/resources/virtualenv.toml +++ b/cibuildwheel/resources/virtualenv.toml @@ -1,2 +1,2 @@ -version = "20.15.1" -url = "https://github.com/pypa/get-virtualenv/blob/20.15.1/public/virtualenv.pyz?raw=true" +version = "20.16.3" +url = "https://github.com/pypa/get-virtualenv/blob/20.16.3/public/virtualenv.pyz?raw=true" diff --git a/docs/working-examples.md b/docs/working-examples.md index 63b34bb8..e5e23bd6 100644 --- a/docs/working-examples.md +++ b/docs/working-examples.md @@ -40,8 +40,8 @@ title: Working examples | [pyzmq][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Python bindings for zeromq, the networking library. Uses Cython and CFFI. | | [aiortc][] | ![github icon][] | ![apple icon][] ![linux icon][] | WebRTC and ORTC implementation for Python using asyncio. | | [vispy][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Main repository for Vispy | -| [Confluent client for Kafka][] | ![travisci icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | setup in `tools/wheels/build-wheels.bat` | | [Implicit][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Includes GPU support for linux wheels | +| [Confluent client for Kafka][] | ![travisci icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | setup in `tools/wheels/build-wheels.bat` | | [tinyobjloader][] | ![azurepipelines icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Tiny but powerful single file wavefront obj loader | | [Dependency Injector][] | ![travisci icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Dependency injection framework for Python, uses Windows TravisCI | | [coverage.py][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | The coverage tool for Python | @@ -60,8 +60,8 @@ title: Working examples | [aioquic][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | QUIC and HTTP/3 implementation in Python | | [ruptures][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Extensive Cython + NumPy [pyproject.toml](https://github.com/deepcharles/ruptures/blob/master/pyproject.toml) example. | | [DeepForest][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | An Efficient, Scalable and Optimized Python Framework for Deep Forest (2021.2.1) | -| [google neuroglancer][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | WebGL-based viewer for volumetric data | | [Psycopg 3][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | A modern implementation of a PostgreSQL adapter for Python | +| [google neuroglancer][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | WebGL-based viewer for volumetric data | | [Parselmouth][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | A Python interface to the Praat software package, using pybind11, C++17 and CMake, with the core Praat static library built only once and shared between wheels. | | [AutoPy][] | ![travisci icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Includes a Windows Travis build. | | [H3-py][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Python bindings for H3, a hierarchical hexagonal geospatial indexing system | @@ -74,8 +74,8 @@ title: Working examples | [tgcalls][] | ![github icon][] | ![apple icon][] ![windows icon][] | Python `pybind11` binding to Telegram's WebRTC library with third party dependencies like `OpenSSL`, `MozJPEG`, `FFmpeg`, etc. | | [dd-trace-py][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Uses custom alternate arch emulation on GitHub | | [pybind11 python_example][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Example pybind11 module built with a Python-based build system | -| [sourmash][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Quickly search, compare, and analyze genomic and metagenomic data sets. | | [time-machine][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Time mocking library using only the CPython C API. | +| [sourmash][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Quickly search, compare, and analyze genomic and metagenomic data sets. | | [CTranslate2][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Includes libraries from the [Intel oneAPI toolkit](https://www.intel.com/content/www/us/en/developer/tools/oneapi/base-toolkit.html) and CUDA kernels compiled for multiple GPU architectures. | | [cyvcf2][] | ![github icon][] | ![apple icon][] ![linux icon][] | cython + htslib == fast VCF and BCF processing | | [matrixprofile][] | ![travisci icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | A Python 3 library making time series data mining tasks, utilizing matrix profile algorithms, accessible to everyone. | @@ -96,8 +96,8 @@ title: Working examples | [polaroid][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Full range of wheels for setuptools rust, with auto release and PyPI deploy. | | [cf-units][] | ![github icon][] | ![apple icon][] ![linux icon][] | Units of measure as required by the Climate and Forecast (CF) Metadata Conventions | | [Imagecodecs (fork)][] | ![azurepipelines icon][] | ![apple icon][] ![linux icon][] | Over 20 external dependencies in compiled libraries, custom docker image, `libomp`, `openblas` and `install_name_tool` for macOS. | -| [clang-format][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Scikit-build wrapper around LLVM's CMake, all platforms, generic wheels. | | [pillow-heif][] | ![github icon][] | ![apple icon][] ![linux icon][] | Python CFFI binding to libheif library with third party dependencies like `libde265`, `x265`, `libaom` with test & publishing on PyPi. | +| [clang-format][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Scikit-build wrapper around LLVM's CMake, all platforms, generic wheels. | | [power-grid-model][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Python/C++ library for distribution power system analysis | | [numpythia][] | ![github icon][] | ![apple icon][] ![linux icon][] | The interface between PYTHIA and NumPy | | [pyjet][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | The interface between FastJet and NumPy | @@ -141,8 +141,8 @@ title: Working examples [pyzmq]: https://github.com/zeromq/pyzmq [aiortc]: https://github.com/aiortc/aiortc [vispy]: https://github.com/vispy/vispy -[Confluent client for Kafka]: https://github.com/confluentinc/confluent-kafka-python [Implicit]: https://github.com/benfred/implicit +[Confluent client for Kafka]: https://github.com/confluentinc/confluent-kafka-python [tinyobjloader]: https://github.com/tinyobjloader/tinyobjloader [Dependency Injector]: https://github.com/ets-labs/python-dependency-injector [coverage.py]: https://github.com/nedbat/coveragepy @@ -161,8 +161,8 @@ title: Working examples [aioquic]: https://github.com/aiortc/aioquic [ruptures]: https://github.com/deepcharles/ruptures [DeepForest]: https://github.com/LAMDA-NJU/Deep-Forest -[google neuroglancer]: https://github.com/google/neuroglancer [Psycopg 3]: https://github.com/psycopg/psycopg +[google neuroglancer]: https://github.com/google/neuroglancer [Parselmouth]: https://github.com/YannickJadoul/Parselmouth [AutoPy]: https://github.com/autopilot-rs/autopy [H3-py]: https://github.com/uber/h3-py @@ -175,8 +175,8 @@ title: Working examples [tgcalls]: https://github.com/MarshalX/tgcalls [dd-trace-py]: https://github.com/DataDog/dd-trace-py [pybind11 python_example]: https://github.com/pybind/python_example -[sourmash]: https://github.com/dib-lab/sourmash [time-machine]: https://github.com/adamchainz/time-machine +[sourmash]: https://github.com/dib-lab/sourmash [CTranslate2]: https://github.com/OpenNMT/CTranslate2 [cyvcf2]: https://github.com/brentp/cyvcf2 [matrixprofile]: https://github.com/matrix-profile-foundation/matrixprofile @@ -197,8 +197,8 @@ title: Working examples [polaroid]: https://github.com/daggy1234/polaroid [cf-units]: https://github.com/SciTools/cf-units [Imagecodecs (fork)]: https://github.com/czaki/imagecodecs_build -[clang-format]: https://github.com/ssciwr/clang-format-wheel [pillow-heif]: https://github.com/bigcat88/pillow_heif +[clang-format]: https://github.com/ssciwr/clang-format-wheel [power-grid-model]: https://github.com/alliander-opensource/power-grid-model [numpythia]: https://github.com/scikit-hep/numpythia [pyjet]: https://github.com/scikit-hep/pyjet @@ -220,106 +220,106 @@ title: Working examples [apple icon]: data/readme_icons/apple.svg [linux icon]: data/readme_icons/linux.svg - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + - - - - - + + + + + From caeb0c23cc53d6df62af63bbca204f69973f836b Mon Sep 17 00:00:00 2001 From: Joe Rickerby Date: Mon, 8 Aug 2022 22:21:22 +0100 Subject: [PATCH 09/17] Remove pytest-azurepipelines for now Test errors in Azure are all printing KeyError: 'reason', it seems to be an incompatibility between pytest-azurepipelines and pytest-xdist. I've filed a bug here: https://github.com/Azure/pytest-azurepipelines/issues/71 in the meantime, I'll disable this plugin. --- azure-pipelines.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index f8142ce8..70275815 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -7,7 +7,7 @@ jobs: inputs: versionSpec: '3.8' - bash: | - python -m pip install -e ".[dev]" pytest-azurepipelines + python -m pip install -e ".[dev]" python ./bin/run_tests.py - job: macos_38 @@ -17,7 +17,7 @@ jobs: inputs: versionSpec: '3.8' - bash: | - python -m pip install -e ".[dev]" pytest-azurepipelines + python -m pip install -e ".[dev]" python ./bin/run_tests.py - job: windows_38 @@ -28,5 +28,5 @@ jobs: inputs: versionSpec: '3.8' - bash: | - python -m pip install -e ".[dev]" pytest-azurepipelines + python -m pip install -e ".[dev]" python ./bin/run_tests.py From 462ba084ce697426e886e2b74f2489d63af4581e Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 9 Aug 2022 06:09:10 +0200 Subject: [PATCH 10/17] chore: run update workflow on pull request (#1210) Allows to catch issues with the update workflow with related PRs. --- .github/workflows/update-dependencies.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.github/workflows/update-dependencies.yml b/.github/workflows/update-dependencies.yml index 208b36c4..c2fcada5 100644 --- a/.github/workflows/update-dependencies.yml +++ b/.github/workflows/update-dependencies.yml @@ -1,6 +1,15 @@ name: Update dependencies on: + pull_request: + paths: + - '.github/workflows/update-dependencies.yml' + - 'bin/update_pythons.py' + - 'bin/update_docker.py' + - 'bin/update_virtualenv.py' + - 'bin/projects.py' + - 'docs/data/projects.yml' + - 'noxfile.py' workflow_dispatch: schedule: - cron: '0 6 * * 1' # "At 06:00 on Monday." From 9ab7670f54835ab9eb609c556e6c0cb4550e94e1 Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Tue, 9 Aug 2022 00:09:48 -0400 Subject: [PATCH 11/17] ci: use official nox action --- .github/workflows/update-dependencies.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/update-dependencies.yml b/.github/workflows/update-dependencies.yml index 208b36c4..12bb2fe3 100644 --- a/.github/workflows/update-dependencies.yml +++ b/.github/workflows/update-dependencies.yml @@ -12,10 +12,10 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - - uses: actions/setup-python@v4 + + - uses: wntrblm/nox@2022.8.7 with: - python-version: "3.11-dev" - - uses: excitedleigh/setup-nox@v2.1.0 + python-versions: "3.6, 3.7, 3.8, 3.9, 3.10, 3.11-dev" - name: "Run update: dependencies" run: nox --force-color -s update_constraints From 024ac0f0ebdfda3785a4379f551b538618a29b36 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 9 Aug 2022 01:15:30 -0400 Subject: [PATCH 12/17] [pre-commit.ci] pre-commit autoupdate (#1211) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [pre-commit.ci] pre-commit autoupdate updates: - [github.com/asottile/pyupgrade: v2.37.2 → v2.37.3](https://github.com/asottile/pyupgrade/compare/v2.37.2...v2.37.3) - [github.com/hadialqattan/pycln: v2.0.4 → v2.1.1](https://github.com/hadialqattan/pycln/compare/v2.0.4...v2.1.1) - [github.com/asottile/setup-cfg-fmt: v1.20.2 → v2.0.0](https://github.com/asottile/setup-cfg-fmt/compare/v1.20.2...v2.0.0) - [github.com/asottile/yesqa: v1.3.0 → v1.4.0](https://github.com/asottile/yesqa/compare/v1.3.0...v1.4.0) - [github.com/PyCQA/flake8: 4.0.1 → 5.0.4](https://github.com/PyCQA/flake8/compare/4.0.1...5.0.4) * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Update .pre-commit-config.yaml * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Henry Schreiner --- .pre-commit-config.yaml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index c3e480da..41f2bcaa 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -14,7 +14,7 @@ repos: - id: trailing-whitespace - repo: https://github.com/asottile/pyupgrade - rev: v2.37.2 + rev: v2.37.3 hooks: - id: pyupgrade args: ["--py37-plus"] @@ -22,7 +22,7 @@ repos: # Autoremoves unused imports - repo: https://github.com/hadialqattan/pycln - rev: v2.0.4 + rev: v2.1.1 hooks: - id: pycln args: [--all] @@ -41,9 +41,10 @@ repos: - id: black - repo: https://github.com/asottile/setup-cfg-fmt - rev: v1.20.2 + rev: v2.0.0 hooks: - id: setup-cfg-fmt + args: [--include-version-classifiers, --max-py-version=3.10] - repo: https://github.com/pre-commit/mirrors-mypy rev: v0.971 @@ -73,14 +74,14 @@ repos: additional_dependencies: *mypy-dependencies - repo: https://github.com/asottile/yesqa - rev: v1.3.0 + rev: v1.4.0 hooks: - id: yesqa additional_dependencies: &flake8-dependencies - flake8-bugbear - repo: https://github.com/PyCQA/flake8 - rev: 4.0.1 + rev: 5.0.4 hooks: - id: flake8 exclude: cibuildwheel/resources/ From e2c0d6831d53fffca56770a0f7db9fa9480f8448 Mon Sep 17 00:00:00 2001 From: "cibuildwheel-bot[bot]" <83877280+cibuildwheel-bot[bot]@users.noreply.github.com> Date: Wed, 10 Aug 2022 17:25:27 +0000 Subject: [PATCH 13/17] Update dependencies --- cibuildwheel/resources/build-platforms.toml | 12 +- .../resources/constraints-python310.txt | 2 +- .../resources/constraints-python311.txt | 2 +- .../resources/constraints-python37.txt | 2 +- .../resources/constraints-python38.txt | 2 +- .../resources/constraints-python39.txt | 2 +- cibuildwheel/resources/constraints.txt | 2 +- .../resources/pinned_docker_images.cfg | 52 ++--- docs/working-examples.md | 210 +++++++++--------- 9 files changed, 143 insertions(+), 143 deletions(-) diff --git a/cibuildwheel/resources/build-platforms.toml b/cibuildwheel/resources/build-platforms.toml index 3670c98d..ff6b5ea7 100644 --- a/cibuildwheel/resources/build-platforms.toml +++ b/cibuildwheel/resources/build-platforms.toml @@ -84,9 +84,9 @@ python_configurations = [ { identifier = "cp310-macosx_x86_64", version = "3.10", url = "https://www.python.org/ftp/python/3.10.6/python-3.10.6-macos11.pkg" }, { identifier = "cp310-macosx_arm64", version = "3.10", url = "https://www.python.org/ftp/python/3.10.6/python-3.10.6-macos11.pkg" }, { identifier = "cp310-macosx_universal2", version = "3.10", url = "https://www.python.org/ftp/python/3.10.6/python-3.10.6-macos11.pkg" }, - { identifier = "cp311-macosx_x86_64", version = "3.11", url = "https://www.python.org/ftp/python/3.11.0/python-3.11.0b5-macos11.pkg" }, - { identifier = "cp311-macosx_arm64", version = "3.11", url = "https://www.python.org/ftp/python/3.11.0/python-3.11.0b5-macos11.pkg" }, - { identifier = "cp311-macosx_universal2", version = "3.11", url = "https://www.python.org/ftp/python/3.11.0/python-3.11.0b5-macos11.pkg" }, + { identifier = "cp311-macosx_x86_64", version = "3.11", url = "https://www.python.org/ftp/python/3.11.0/python-3.11.0rc1-macos11.pkg" }, + { identifier = "cp311-macosx_arm64", version = "3.11", url = "https://www.python.org/ftp/python/3.11.0/python-3.11.0rc1-macos11.pkg" }, + { identifier = "cp311-macosx_universal2", version = "3.11", url = "https://www.python.org/ftp/python/3.11.0/python-3.11.0rc1-macos11.pkg" }, { identifier = "pp37-macosx_x86_64", version = "3.7", url = "https://downloads.python.org/pypy/pypy3.7-v7.3.9-osx64.tar.bz2" }, { identifier = "pp38-macosx_x86_64", version = "3.8", url = "https://downloads.python.org/pypy/pypy3.8-v7.3.9-osx64.tar.bz2" }, { identifier = "pp39-macosx_x86_64", version = "3.9", url = "https://downloads.python.org/pypy/pypy3.9-v7.3.9-osx64.tar.bz2" }, @@ -104,11 +104,11 @@ python_configurations = [ { identifier = "cp39-win_amd64", version = "3.9.13", arch = "64" }, { identifier = "cp310-win32", version = "3.10.6", arch = "32" }, { identifier = "cp310-win_amd64", version = "3.10.6", arch = "64" }, - { identifier = "cp311-win32", version = "3.11.0-b5", arch = "32" }, - { identifier = "cp311-win_amd64", version = "3.11.0-b5", arch = "64" }, + { identifier = "cp311-win32", version = "3.11.0-rc1", arch = "32" }, + { identifier = "cp311-win_amd64", version = "3.11.0-rc1", arch = "64" }, { identifier = "cp39-win_arm64", version = "3.9.10", arch = "ARM64" }, { identifier = "cp310-win_arm64", version = "3.10.6", arch = "ARM64" }, - { identifier = "cp311-win_arm64", version = "3.11.0-b5", arch = "ARM64" }, + { identifier = "cp311-win_arm64", version = "3.11.0-rc1", arch = "ARM64" }, { identifier = "pp37-win_amd64", version = "3.7", arch = "64", url = "https://downloads.python.org/pypy/pypy3.7-v7.3.9-win64.zip" }, { identifier = "pp38-win_amd64", version = "3.8", arch = "64", url = "https://downloads.python.org/pypy/pypy3.8-v7.3.9-win64.zip" }, { identifier = "pp39-win_amd64", version = "3.9", arch = "64", url = "https://downloads.python.org/pypy/pypy3.9-v7.3.9-win64.zip" }, diff --git a/cibuildwheel/resources/constraints-python310.txt b/cibuildwheel/resources/constraints-python310.txt index bb8a3ebf..65488188 100644 --- a/cibuildwheel/resources/constraints-python310.txt +++ b/cibuildwheel/resources/constraints-python310.txt @@ -8,7 +8,7 @@ delocate==0.10.2 # via -r cibuildwheel/resources/constraints.in distlib==0.3.5 # via virtualenv -filelock==3.7.1 +filelock==3.8.0 # via virtualenv platformdirs==2.5.2 # via virtualenv diff --git a/cibuildwheel/resources/constraints-python311.txt b/cibuildwheel/resources/constraints-python311.txt index e8de8fd7..47b2579a 100644 --- a/cibuildwheel/resources/constraints-python311.txt +++ b/cibuildwheel/resources/constraints-python311.txt @@ -8,7 +8,7 @@ delocate==0.10.2 # via -r cibuildwheel/resources/constraints.in distlib==0.3.5 # via virtualenv -filelock==3.7.1 +filelock==3.8.0 # via virtualenv platformdirs==2.5.2 # via virtualenv diff --git a/cibuildwheel/resources/constraints-python37.txt b/cibuildwheel/resources/constraints-python37.txt index 4e9e975d..825991e6 100644 --- a/cibuildwheel/resources/constraints-python37.txt +++ b/cibuildwheel/resources/constraints-python37.txt @@ -8,7 +8,7 @@ delocate==0.10.2 # via -r cibuildwheel/resources/constraints.in distlib==0.3.5 # via virtualenv -filelock==3.7.1 +filelock==3.8.0 # via virtualenv importlib-metadata==4.12.0 # via virtualenv diff --git a/cibuildwheel/resources/constraints-python38.txt b/cibuildwheel/resources/constraints-python38.txt index 24f5a698..a9c99ed0 100644 --- a/cibuildwheel/resources/constraints-python38.txt +++ b/cibuildwheel/resources/constraints-python38.txt @@ -8,7 +8,7 @@ delocate==0.10.2 # via -r cibuildwheel/resources/constraints.in distlib==0.3.5 # via virtualenv -filelock==3.7.1 +filelock==3.8.0 # via virtualenv platformdirs==2.5.2 # via virtualenv diff --git a/cibuildwheel/resources/constraints-python39.txt b/cibuildwheel/resources/constraints-python39.txt index 9ad88f0d..7f49670e 100644 --- a/cibuildwheel/resources/constraints-python39.txt +++ b/cibuildwheel/resources/constraints-python39.txt @@ -8,7 +8,7 @@ delocate==0.10.2 # via -r cibuildwheel/resources/constraints.in distlib==0.3.5 # via virtualenv -filelock==3.7.1 +filelock==3.8.0 # via virtualenv platformdirs==2.5.2 # via virtualenv diff --git a/cibuildwheel/resources/constraints.txt b/cibuildwheel/resources/constraints.txt index e8de8fd7..47b2579a 100644 --- a/cibuildwheel/resources/constraints.txt +++ b/cibuildwheel/resources/constraints.txt @@ -8,7 +8,7 @@ delocate==0.10.2 # via -r cibuildwheel/resources/constraints.in distlib==0.3.5 # via virtualenv -filelock==3.7.1 +filelock==3.8.0 # via virtualenv platformdirs==2.5.2 # via virtualenv diff --git a/cibuildwheel/resources/pinned_docker_images.cfg b/cibuildwheel/resources/pinned_docker_images.cfg index e9a7e188..8fdb63fb 100644 --- a/cibuildwheel/resources/pinned_docker_images.cfg +++ b/cibuildwheel/resources/pinned_docker_images.cfg @@ -1,48 +1,48 @@ [x86_64] manylinux1 = quay.io/pypa/manylinux1_x86_64:2022-08-08-7292f33 manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2022-08-05-4535177 -manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2022-08-07-986762e -manylinux_2_24 = quay.io/pypa/manylinux_2_24_x86_64:2022-08-07-986762e -manylinux_2_28 = quay.io/pypa/manylinux_2_28_x86_64:2022-08-07-986762e -musllinux_1_1 = quay.io/pypa/musllinux_1_1_x86_64:2022-08-07-986762e +manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2022-08-09-51a01be +manylinux_2_24 = quay.io/pypa/manylinux_2_24_x86_64:2022-08-09-51a01be +manylinux_2_28 = quay.io/pypa/manylinux_2_28_x86_64:2022-08-09-51a01be +musllinux_1_1 = quay.io/pypa/musllinux_1_1_x86_64:2022-08-09-51a01be [i686] manylinux1 = quay.io/pypa/manylinux1_i686:2022-08-08-7292f33 manylinux2010 = quay.io/pypa/manylinux2010_i686:2022-08-05-4535177 -manylinux2014 = quay.io/pypa/manylinux2014_i686:2022-08-07-986762e -manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2022-08-07-986762e -musllinux_1_1 = quay.io/pypa/musllinux_1_1_i686:2022-08-07-986762e +manylinux2014 = quay.io/pypa/manylinux2014_i686:2022-08-09-51a01be +manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2022-08-09-51a01be +musllinux_1_1 = quay.io/pypa/musllinux_1_1_i686:2022-08-09-51a01be [pypy_x86_64] manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2022-08-05-4535177 -manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2022-08-07-986762e -manylinux_2_24 = quay.io/pypa/manylinux_2_24_x86_64:2022-08-07-986762e -manylinux_2_28 = quay.io/pypa/manylinux_2_28_x86_64:2022-08-07-986762e +manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2022-08-09-51a01be +manylinux_2_24 = quay.io/pypa/manylinux_2_24_x86_64:2022-08-09-51a01be +manylinux_2_28 = quay.io/pypa/manylinux_2_28_x86_64:2022-08-09-51a01be [pypy_i686] manylinux2010 = quay.io/pypa/manylinux2010_i686:2022-08-05-4535177 -manylinux2014 = quay.io/pypa/manylinux2014_i686:2022-08-07-986762e -manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2022-08-07-986762e +manylinux2014 = quay.io/pypa/manylinux2014_i686:2022-08-09-51a01be +manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2022-08-09-51a01be [aarch64] -manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2022-08-07-986762e -manylinux_2_24 = quay.io/pypa/manylinux_2_24_aarch64:2022-08-07-986762e -manylinux_2_28 = quay.io/pypa/manylinux_2_28_aarch64:2022-08-07-986762e -musllinux_1_1 = quay.io/pypa/musllinux_1_1_aarch64:2022-08-07-986762e +manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2022-08-09-51a01be +manylinux_2_24 = quay.io/pypa/manylinux_2_24_aarch64:2022-08-09-51a01be +manylinux_2_28 = quay.io/pypa/manylinux_2_28_aarch64:2022-08-09-51a01be +musllinux_1_1 = quay.io/pypa/musllinux_1_1_aarch64:2022-08-09-51a01be [ppc64le] -manylinux2014 = quay.io/pypa/manylinux2014_ppc64le:2022-08-07-986762e -manylinux_2_24 = quay.io/pypa/manylinux_2_24_ppc64le:2022-08-07-986762e -manylinux_2_28 = quay.io/pypa/manylinux_2_28_ppc64le:2022-08-07-986762e -musllinux_1_1 = quay.io/pypa/musllinux_1_1_ppc64le:2022-08-07-986762e +manylinux2014 = quay.io/pypa/manylinux2014_ppc64le:2022-08-09-51a01be +manylinux_2_24 = quay.io/pypa/manylinux_2_24_ppc64le:2022-08-09-51a01be +manylinux_2_28 = quay.io/pypa/manylinux_2_28_ppc64le:2022-08-09-51a01be +musllinux_1_1 = quay.io/pypa/musllinux_1_1_ppc64le:2022-08-09-51a01be [s390x] -manylinux2014 = quay.io/pypa/manylinux2014_s390x:2022-08-07-986762e -manylinux_2_24 = quay.io/pypa/manylinux_2_24_s390x:2022-08-07-986762e -musllinux_1_1 = quay.io/pypa/musllinux_1_1_s390x:2022-08-07-986762e +manylinux2014 = quay.io/pypa/manylinux2014_s390x:2022-08-09-51a01be +manylinux_2_24 = quay.io/pypa/manylinux_2_24_s390x:2022-08-09-51a01be +musllinux_1_1 = quay.io/pypa/musllinux_1_1_s390x:2022-08-09-51a01be [pypy_aarch64] -manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2022-08-07-986762e -manylinux_2_24 = quay.io/pypa/manylinux_2_24_aarch64:2022-08-07-986762e -manylinux_2_28 = quay.io/pypa/manylinux_2_28_aarch64:2022-08-07-986762e +manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2022-08-09-51a01be +manylinux_2_24 = quay.io/pypa/manylinux_2_24_aarch64:2022-08-09-51a01be +manylinux_2_28 = quay.io/pypa/manylinux_2_28_aarch64:2022-08-09-51a01be diff --git a/docs/working-examples.md b/docs/working-examples.md index e5e23bd6..eb68e50d 100644 --- a/docs/working-examples.md +++ b/docs/working-examples.md @@ -23,16 +23,16 @@ title: Working examples | [psutil][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Cross-platform lib for process and system monitoring in Python | | [vaex][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Out-of-Core hybrid Apache Arrow/NumPy DataFrame for Python, ML, visualization and exploration of big tabular data at a billion rows per second 🚀 | | [Google Benchmark][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | A microbenchmark support library | -| [Apache Beam][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Apache Beam is a unified programming model for Batch and Streaming data processing. | | [duckdb][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | DuckDB is an in-process SQL OLAP Database Management System | +| [Apache Beam][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Apache Beam is a unified programming model for Batch and Streaming data processing. | | [asyncpg][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | A fast PostgreSQL Database Client Library for Python/asyncio. | | [PyGame][] | ![github icon][] | ![apple icon][] ![linux icon][] | pygame (the library) is a Free and Open Source python programming language library for making multimedia applications like games built on top of the excellent SDL library. C, Python, Native, OpenGL. | | [scikit-image][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Image processing library. Uses cibuildwheel to build and test a project that uses Cython with platform-native code. | | [cmake][] | ![github icon][] ![travisci icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Multitagged binary builds for all supported platforms, using cibw 2 config configuration. | | [twisted-iocpsupport][] | ![github icon][] | ![windows icon][] | A submodule of Twisted that hooks into native C APIs using Cython. | | [websockets][] | ![travisci icon][] | ![apple icon][] ![linux icon][] | Library for building WebSocket servers and clients. Mostly written in Python, with a small C 'speedups' extension module. | -| [cvxpy][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | A Python-embedded modeling language for convex optimization problems. | | [PyOxidizer][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | A modern Python application packaging and distribution tool | +| [cvxpy][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | A Python-embedded modeling language for convex optimization problems. | | [Triton][] | ![github icon][] | ![linux icon][] | Self hosted runners | | [UltraJSON][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Ultra fast JSON decoder and encoder written in C with Python bindings | | [River][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | 🌊 Online machine learning in Python | @@ -78,8 +78,8 @@ title: Working examples | [sourmash][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Quickly search, compare, and analyze genomic and metagenomic data sets. | | [CTranslate2][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Includes libraries from the [Intel oneAPI toolkit](https://www.intel.com/content/www/us/en/developer/tools/oneapi/base-toolkit.html) and CUDA kernels compiled for multiple GPU architectures. | | [cyvcf2][] | ![github icon][] | ![apple icon][] ![linux icon][] | cython + htslib == fast VCF and BCF processing | -| [matrixprofile][] | ![travisci icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | A Python 3 library making time series data mining tasks, utilizing matrix profile algorithms, accessible to everyone. | | [abess][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | A fast best-subset selection library. It uses cibuildwheel to build a large project with C++ extensions. | +| [matrixprofile][] | ![travisci icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | A Python 3 library making time series data mining tasks, utilizing matrix profile algorithms, accessible to everyone. | | [jq.py][] | ![travisci icon][] | ![apple icon][] ![linux icon][] | Python bindings for jq | | [iminuit][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Jupyter-friendly Python interface for C++ MINUIT2 | | [Tokenizer][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Fast and customizable text tokenization library with BPE and SentencePiece support | @@ -97,8 +97,8 @@ title: Working examples | [cf-units][] | ![github icon][] | ![apple icon][] ![linux icon][] | Units of measure as required by the Climate and Forecast (CF) Metadata Conventions | | [Imagecodecs (fork)][] | ![azurepipelines icon][] | ![apple icon][] ![linux icon][] | Over 20 external dependencies in compiled libraries, custom docker image, `libomp`, `openblas` and `install_name_tool` for macOS. | | [pillow-heif][] | ![github icon][] | ![apple icon][] ![linux icon][] | Python CFFI binding to libheif library with third party dependencies like `libde265`, `x265`, `libaom` with test & publishing on PyPi. | -| [clang-format][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Scikit-build wrapper around LLVM's CMake, all platforms, generic wheels. | | [power-grid-model][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Python/C++ library for distribution power system analysis | +| [clang-format][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Scikit-build wrapper around LLVM's CMake, all platforms, generic wheels. | | [numpythia][] | ![github icon][] | ![apple icon][] ![linux icon][] | The interface between PYTHIA and NumPy | | [pyjet][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | The interface between FastJet and NumPy | | [pybind11 scikit_build_example][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | An example combining scikit-build and pybind11 | @@ -124,16 +124,16 @@ title: Working examples [psutil]: https://github.com/giampaolo/psutil [vaex]: https://github.com/vaexio/vaex [Google Benchmark]: https://github.com/google/benchmark -[Apache Beam]: https://github.com/apache/beam [duckdb]: https://github.com/duckdb/duckdb +[Apache Beam]: https://github.com/apache/beam [asyncpg]: https://github.com/MagicStack/asyncpg [PyGame]: https://github.com/pygame/pygame [scikit-image]: https://github.com/scikit-image/scikit-image [cmake]: https://github.com/scikit-build/cmake-python-distributions [twisted-iocpsupport]: https://github.com/twisted/twisted-iocpsupport [websockets]: https://github.com/aaugustin/websockets -[cvxpy]: https://github.com/cvxpy/cvxpy [PyOxidizer]: https://github.com/indygreg/PyOxidizer +[cvxpy]: https://github.com/cvxpy/cvxpy [Triton]: https://github.com/openai/triton [UltraJSON]: https://github.com/ultrajson/ultrajson [River]: https://github.com/online-ml/river @@ -179,8 +179,8 @@ title: Working examples [sourmash]: https://github.com/dib-lab/sourmash [CTranslate2]: https://github.com/OpenNMT/CTranslate2 [cyvcf2]: https://github.com/brentp/cyvcf2 -[matrixprofile]: https://github.com/matrix-profile-foundation/matrixprofile [abess]: https://github.com/abess-team/abess +[matrixprofile]: https://github.com/matrix-profile-foundation/matrixprofile [jq.py]: https://github.com/mwilliamson/jq.py [iminuit]: https://github.com/scikit-hep/iminuit [Tokenizer]: https://github.com/OpenNMT/Tokenizer @@ -198,8 +198,8 @@ title: Working examples [cf-units]: https://github.com/SciTools/cf-units [Imagecodecs (fork)]: https://github.com/czaki/imagecodecs_build [pillow-heif]: https://github.com/bigcat88/pillow_heif -[clang-format]: https://github.com/ssciwr/clang-format-wheel [power-grid-model]: https://github.com/alliander-opensource/power-grid-model +[clang-format]: https://github.com/ssciwr/clang-format-wheel [numpythia]: https://github.com/scikit-hep/numpythia [pyjet]: https://github.com/scikit-hep/pyjet [pybind11 scikit_build_example]: https://github.com/pybind/scikit_build_example @@ -220,106 +220,106 @@ title: Working examples [apple icon]: data/readme_icons/apple.svg [linux icon]: data/readme_icons/linux.svg - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + - - + + From 30bfc7b2b2253ed668afb3bc77e7820e7588c27f Mon Sep 17 00:00:00 2001 From: Keming Date: Thu, 11 Aug 2022 08:44:35 +0800 Subject: [PATCH 14/17] chore: add two ML example projects Signed-off-by: Keming --- docs/data/projects.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/docs/data/projects.yml b/docs/data/projects.yml index b08d6fc4..19b6d525 100644 --- a/docs/data/projects.yml +++ b/docs/data/projects.yml @@ -594,3 +594,15 @@ gh: SciTools/cf-units ci: [github] os: [apple, linux] + +- name: envd + gh: tensorchord/envd + ci: [github] + os: [apple, linux, windows] + note: A machine learning development environment build toool + +- name: mosec + gh: mosecorg/mosec + ci: [github] + os: [linux, apple] + note: A machine learning model serving framework powered by Rust From 2d155c01b574ce6903a7d76d22e8f2b0fd24ec22 Mon Sep 17 00:00:00 2001 From: Min RK Date: Thu, 11 Aug 2022 09:21:34 +0200 Subject: [PATCH 15/17] Build cp311 without setting prerelease_pythons --- README.md | 2 +- cibuildwheel/util.py | 2 +- unit_test/build_selector_test.py | 4 ++-- unit_test/linux_build_steps_test.py | 8 ++++++-- unit_test/option_prepare_test.py | 10 ++++------ 5 files changed, 14 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index fecef336..dc013f2c 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,7 @@ What does it do? ¹ PyPy is only supported for manylinux wheels.
² Windows arm64 support is experimental.
³ Alpine 3.14 and very briefly 3.15's default python3 [was not able to load](https://github.com/pypa/cibuildwheel/issues/934) musllinux wheels. This has been fixed; please upgrade the python package if using Alpine from before the fix.
-⁴ CPython 3.11 is available using the [CIBW_PRERELEASE_PYTHONS](https://cibuildwheel.readthedocs.io/en/stable/options/#prerelease-pythons) option.
+⁴ CPython 3.11 is built by default using Python 3.11.0rc1, starting with cibuildwheel 2.9.
- Builds manylinux, musllinux, macOS 10.9+, and Windows wheels for CPython and PyPy - Works on GitHub Actions, Azure Pipelines, Travis CI, AppVeyor, CircleCI, and GitLab CI diff --git a/cibuildwheel/util.py b/cibuildwheel/util.py index 6a6a6e2a..62422201 100644 --- a/cibuildwheel/util.py +++ b/cibuildwheel/util.py @@ -242,7 +242,7 @@ class BuildSelector: requires_python: SpecifierSet | None = None # a pattern that skips prerelease versions, when include_prereleases is False. - PRERELEASE_SKIP: ClassVar[str] = "cp311-*" + PRERELEASE_SKIP: ClassVar[str] = "" prerelease_pythons: bool = False def __call__(self, build_id: str) -> bool: diff --git a/unit_test/build_selector_test.py b/unit_test/build_selector_test.py index 14ff8da6..3e544900 100644 --- a/unit_test/build_selector_test.py +++ b/unit_test/build_selector_test.py @@ -11,7 +11,7 @@ def test_build(): assert build_selector("cp36-manylinux_x86_64") assert build_selector("cp37-manylinux_x86_64") assert build_selector("cp310-manylinux_x86_64") - assert not build_selector("cp311-manylinux_x86_64") + assert build_selector("cp311-manylinux_x86_64") assert build_selector("pp36-manylinux_x86_64") assert build_selector("pp37-manylinux_x86_64") assert build_selector("cp36-manylinux_i686") @@ -30,7 +30,7 @@ def test_build(): assert build_selector("cp36-win_amd64") assert build_selector("cp37-win_amd64") assert build_selector("cp310-win_amd64") - assert not build_selector("cp311-win_amd64") + assert build_selector("cp311-win_amd64") assert not build_selector("pp36-win_amd64") assert not build_selector("pp37-win_amd64") diff --git a/unit_test/linux_build_steps_test.py b/unit_test/linux_build_steps_test.py index 809cdf65..8423d423 100644 --- a/unit_test/linux_build_steps_test.py +++ b/unit_test/linux_build_steps_test.py @@ -60,8 +60,12 @@ def test_linux_container_split(tmp_path: Path, monkeypatch): pprint(build_steps) assert build_steps[0].container_image == "normal_container_image" - assert identifiers(build_steps[0]) == ["cp36-manylinux_x86_64", "cp37-manylinux_x86_64"] - assert before_alls(build_steps[0]) == ["", ""] + assert identifiers(build_steps[0]) == [ + "cp36-manylinux_x86_64", + "cp37-manylinux_x86_64", + "cp311-manylinux_x86_64", + ] + assert before_alls(build_steps[0]) == ["", "", ""] assert build_steps[1].container_image == "other_container_image" assert identifiers(build_steps[1]) == ["cp38-manylinux_x86_64", "cp310-manylinux_x86_64"] diff --git a/unit_test/option_prepare_test.py b/unit_test/option_prepare_test.py index bc01317b..9b21d329 100644 --- a/unit_test/option_prepare_test.py +++ b/unit_test/option_prepare_test.py @@ -13,7 +13,7 @@ import pytest from cibuildwheel import linux, util from cibuildwheel.__main__ import main -ALL_IDS = {"cp36", "cp37", "cp38", "cp39", "cp310", "pp37", "pp38", "pp39"} +ALL_IDS = {"cp36", "cp37", "cp38", "cp39", "cp310", "cp311", "pp37", "pp38", "pp39"} @pytest.fixture @@ -137,7 +137,8 @@ before-all = "true" identifiers = {x.identifier for x in kwargs["platform_configs"]} assert identifiers == { - f"{x}-manylinux_x86_64" for x in ALL_IDS - {"cp36", "cp310", "pp37", "pp38", "pp39"} + f"{x}-manylinux_x86_64" + for x in ALL_IDS - {"cp36", "cp310", "cp311", "pp37", "pp38", "pp39"} } assert kwargs["options"].build_options("cp37-manylinux_x86_64").before_all == "" @@ -147,10 +148,7 @@ before-all = "true" assert not kwargs["container"]["simulate_32_bit"] identifiers = {x.identifier for x in kwargs["platform_configs"]} assert identifiers == { - "cp310-manylinux_x86_64", - "pp37-manylinux_x86_64", - "pp38-manylinux_x86_64", - "pp39-manylinux_x86_64", + f"{x}-manylinux_x86_64" for x in {"cp310", "cp311", "pp37", "pp38", "pp39"} } kwargs = build_in_container.call_args_list[3][1] From 0abd6c205d5baf3066155b5bf85219147d770c61 Mon Sep 17 00:00:00 2001 From: Joe Rickerby Date: Thu, 11 Aug 2022 19:43:33 +0100 Subject: [PATCH 16/17] Bump version: v2.9.0 --- README.md | 21 +++++++++++---------- cibuildwheel/__init__.py | 2 +- docs/changelog.md | 9 +++++++++ docs/faq.md | 4 ++-- docs/setup.md | 4 ++-- examples/appveyor-minimal.yml | 2 +- examples/azure-pipelines-minimal.yml | 6 +++--- examples/circleci-minimal.yml | 4 ++-- examples/github-apple-silicon.yml | 2 +- examples/github-deploy.yml | 2 +- examples/github-minimal.yml | 2 +- examples/github-with-qemu.yml | 2 +- examples/gitlab-minimal.yml | 2 +- examples/travis-ci-deploy.yml | 2 +- examples/travis-ci-minimal.yml | 2 +- examples/travis-ci-test-and-deploy.yml | 4 ++-- setup.cfg | 2 +- 17 files changed, 41 insertions(+), 31 deletions(-) diff --git a/README.md b/README.md index dc013f2c..69c8a79c 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ What does it do? | CPython 3.8 | ✅ | ✅ | ✅ | ✅ | N/A | ✅ | ✅ | ✅ | ✅ | ✅ | | CPython 3.9 | ✅ | ✅ | ✅ | ✅ | ✅² | ✅³ | ✅ | ✅ | ✅ | ✅ | | CPython 3.10 | ✅ | ✅ | ✅ | ✅ | ✅² | ✅ | ✅ | ✅ | ✅ | ✅ | -| CPython 3.11⁴ | ✅ | ✅ | ✅ | ✅ | ✅² | ✅ | ✅ | ✅ | ✅ | ✅ | +| CPython 3.11 | ✅ | ✅ | ✅ | ✅ | ✅² | ✅ | ✅ | ✅ | ✅ | ✅ | | PyPy 3.7 v7.3 | ✅ | N/A | ✅ | N/A | N/A | ✅¹ | ✅¹ | ✅¹ | N/A | N/A | | PyPy 3.8 v7.3 | ✅ | N/A | ✅ | N/A | N/A | ✅¹ | ✅¹ | ✅¹ | N/A | N/A | | PyPy 3.9 v7.3 | ✅ | N/A | ✅ | N/A | N/A | ✅¹ | ✅¹ | ✅¹ | N/A | N/A | @@ -37,7 +37,6 @@ What does it do? ¹ PyPy is only supported for manylinux wheels.
² Windows arm64 support is experimental.
³ Alpine 3.14 and very briefly 3.15's default python3 [was not able to load](https://github.com/pypa/cibuildwheel/issues/934) musllinux wheels. This has been fixed; please upgrade the python package if using Alpine from before the fix.
-⁴ CPython 3.11 is built by default using Python 3.11.0rc1, starting with cibuildwheel 2.9.
- Builds manylinux, musllinux, macOS 10.9+, and Windows wheels for CPython and PyPy - Works on GitHub Actions, Azure Pipelines, Travis CI, AppVeyor, CircleCI, and GitLab CI @@ -89,7 +88,7 @@ jobs: - uses: actions/setup-python@v3 - name: Install cibuildwheel - run: python -m pip install cibuildwheel==2.8.1 + run: python -m pip install cibuildwheel==2.9.0 - name: Build wheels run: python -m cibuildwheel --output-dir wheelhouse @@ -204,6 +203,15 @@ Changelog +### v2.9.0 + +_11 August 2022_ + +- 🌟 CPython 3.11 wheels are now built by default - without the CIBW_PRERELEASE_PYTHONS flag. It's time to build and upload these wheels to PyPI! This release includes CPython 3.11.0rc1, which is guaranteed to be ABI compatible with the final release. (#1226) +- ⚠️ Removed support for running cibuildwheel in Python 3.6. Python 3.6 is EOL. However, cibuildwheel continues to build CPython 3.6 wheels for the moment. (#1175) +- ✨ Improved error messages when misspelling TOML options, suggesting close matches (#1205) +- 🛠 When running on Apple Silicon (so far, an unsupported mode of operation), cibuildwheel no longer builds universal2 wheels by default - just arm64. See [#1204](https://github.com/pypa/cibuildwheel/issues/1204) for discussion. We hope to release official support for native builds on Apple Silicon soon! (#1217) + ### v2.8.1 _18 July 2022_ @@ -241,13 +249,6 @@ _7 June 2022_ - 🛠 Update the prerelease CPython 3.11 to 3.11.0b3 -### v2.6.0 - -_25 May 2022_ - -- 🌟 Added the ability to test building wheels on CPython 3.11! Because CPython 3.11 is in beta, these wheels should not be distributed, because they might not be compatible with the final release, but it's available to build for testing purposes. Use the flag [`--prerelease-pythons` or `CIBW_PRERELEASE_PYTHONS`](https://cibuildwheel.readthedocs.io/en/stable/options/#prerelease-pythons) to test. This version of cibuildwheel includes CPython 3.11.0b1. (#1109) -- 📚 Added an interactive diagram showing how cibuildwheel works to the [docs](https://cibuildwheel.readthedocs.io/en/stable/#how-it-works) (#1100) - --- diff --git a/cibuildwheel/__init__.py b/cibuildwheel/__init__.py index b923f228..a4f6f370 100644 --- a/cibuildwheel/__init__.py +++ b/cibuildwheel/__init__.py @@ -1,3 +1,3 @@ from __future__ import annotations -__version__ = "2.8.1" +__version__ = "2.9.0" diff --git a/docs/changelog.md b/docs/changelog.md index 6f1da5e4..1bce05a9 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -2,6 +2,15 @@ title: Changelog --- +### v2.9.0 + +_11 August 2022_ + +- 🌟 CPython 3.11 wheels are now built by default - without the CIBW_PRERELEASE_PYTHONS flag. It's time to build and upload these wheels to PyPI! This release includes CPython 3.11.0rc1, which is guaranteed to be ABI compatible with the final release. (#1226) +- ⚠️ Removed support for running cibuildwheel in Python 3.6. Python 3.6 is EOL. However, cibuildwheel continues to build CPython 3.6 wheels for the moment. (#1175) +- ✨ Improved error messages when misspelling TOML options, suggesting close matches (#1205) +- 🛠 When running on Apple Silicon (so far, an unsupported mode of operation), cibuildwheel no longer builds universal2 wheels by default - just arm64. See [#1204](https://github.com/pypa/cibuildwheel/issues/1204) for discussion. We hope to release official support for native builds on Apple Silicon soon! (#1217) + ### v2.8.1 _18 July 2022_ diff --git a/docs/faq.md b/docs/faq.md index 614e7ef6..85314cd3 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -132,7 +132,7 @@ There are two suggested methods for keeping cibuildwheel up to date that instead If you use GitHub Actions for builds, you can use cibuildwheel as an action: ```yaml -uses: pypa/cibuildwheel@v2.8.1 +uses: pypa/cibuildwheel@v2.9.0 ``` This is a composite step that just runs cibuildwheel using pipx. You can set command-line options as `with:` parameters, and use `env:` as normal. @@ -154,7 +154,7 @@ The second option, and the only one that supports other CI systems, is using a ` ```bash # requirements-cibw.txt -cibuildwheel==2.8.1 +cibuildwheel==2.9.0 ``` Then your install step would have `python -m pip install -r requirements-cibw.txt` in it. Your `.github/dependabot.yml` file could look like this: diff --git a/docs/setup.md b/docs/setup.md index 91d44960..2dce1f5b 100644 --- a/docs/setup.md +++ b/docs/setup.md @@ -182,7 +182,7 @@ To build Linux, Mac, and Windows wheels using GitHub Actions, create a `.github/ - uses: actions/checkout@v3 - name: Build wheels - run: pipx run cibuildwheel==2.8.1 + run: pipx run cibuildwheel==2.9.0 - uses: actions/upload-artifact@v3 with: @@ -217,7 +217,7 @@ To build Linux, Mac, and Windows wheels using GitHub Actions, create a `.github/ - uses: actions/setup-python@v3 - name: Install cibuildwheel - run: python -m pip install cibuildwheel==2.8.1 + run: python -m pip install cibuildwheel==2.9.0 - name: Build wheels run: python -m cibuildwheel --output-dir wheelhouse diff --git a/examples/appveyor-minimal.yml b/examples/appveyor-minimal.yml index cd47745d..99e4f91b 100644 --- a/examples/appveyor-minimal.yml +++ b/examples/appveyor-minimal.yml @@ -12,7 +12,7 @@ stack: python 3.7 init: - cmd: set PATH=C:\Python37;C:\Python37\Scripts;%PATH% -install: python -m pip install cibuildwheel==2.8.1 +install: python -m pip install cibuildwheel==2.9.0 build_script: python -m cibuildwheel --output-dir wheelhouse diff --git a/examples/azure-pipelines-minimal.yml b/examples/azure-pipelines-minimal.yml index d9f837f9..46ee3959 100644 --- a/examples/azure-pipelines-minimal.yml +++ b/examples/azure-pipelines-minimal.yml @@ -6,7 +6,7 @@ jobs: - bash: | set -o errexit python3 -m pip install --upgrade pip - pip3 install cibuildwheel==2.8.1 + pip3 install cibuildwheel==2.9.0 displayName: Install dependencies - bash: cibuildwheel --output-dir wheelhouse . displayName: Build wheels @@ -20,7 +20,7 @@ jobs: - bash: | set -o errexit python3 -m pip install --upgrade pip - python3 -m pip install cibuildwheel==2.8.1 + python3 -m pip install cibuildwheel==2.9.0 displayName: Install dependencies - bash: cibuildwheel --output-dir wheelhouse . displayName: Build wheels @@ -34,7 +34,7 @@ jobs: - bash: | set -o errexit python -m pip install --upgrade pip - pip install cibuildwheel==2.8.1 + pip install cibuildwheel==2.9.0 displayName: Install dependencies - bash: cibuildwheel --output-dir wheelhouse . displayName: Build wheels diff --git a/examples/circleci-minimal.yml b/examples/circleci-minimal.yml index 3162ceb5..a1478974 100644 --- a/examples/circleci-minimal.yml +++ b/examples/circleci-minimal.yml @@ -11,7 +11,7 @@ jobs: - run: name: Build the Linux wheels. command: | - pip3 install --user cibuildwheel==2.8.1 + pip3 install --user cibuildwheel==2.9.0 cibuildwheel --output-dir wheelhouse - store_artifacts: path: wheelhouse/ @@ -25,7 +25,7 @@ jobs: - run: name: Build the OS X wheels. command: | - pip3 install cibuildwheel==2.8.1 + pip3 install cibuildwheel==2.9.0 cibuildwheel --output-dir wheelhouse - store_artifacts: path: wheelhouse/ diff --git a/examples/github-apple-silicon.yml b/examples/github-apple-silicon.yml index d810dfd6..c212bfd7 100644 --- a/examples/github-apple-silicon.yml +++ b/examples/github-apple-silicon.yml @@ -10,7 +10,7 @@ jobs: - uses: actions/checkout@v3 - name: Build wheels - uses: pypa/cibuildwheel@v2.8.1 + uses: pypa/cibuildwheel@v2.9.0 env: CIBW_ARCHS_MACOS: x86_64 arm64 diff --git a/examples/github-deploy.yml b/examples/github-deploy.yml index 75b8cd1c..8ef91573 100644 --- a/examples/github-deploy.yml +++ b/examples/github-deploy.yml @@ -22,7 +22,7 @@ jobs: - uses: actions/checkout@v3 - name: Build wheels - uses: pypa/cibuildwheel@v2.8.1 + uses: pypa/cibuildwheel@v2.9.0 - uses: actions/upload-artifact@v3 with: diff --git a/examples/github-minimal.yml b/examples/github-minimal.yml index e1e1f99b..f5ba352d 100644 --- a/examples/github-minimal.yml +++ b/examples/github-minimal.yml @@ -14,7 +14,7 @@ jobs: - uses: actions/checkout@v3 - name: Build wheels - uses: pypa/cibuildwheel@v2.8.1 + uses: pypa/cibuildwheel@v2.9.0 # env: # CIBW_SOME_OPTION: value # ... diff --git a/examples/github-with-qemu.yml b/examples/github-with-qemu.yml index 2911f98c..f70add94 100644 --- a/examples/github-with-qemu.yml +++ b/examples/github-with-qemu.yml @@ -20,7 +20,7 @@ jobs: platforms: all - name: Build wheels - uses: pypa/cibuildwheel@v2.8.1 + uses: pypa/cibuildwheel@v2.9.0 env: # configure cibuildwheel to build native archs ('auto'), and some # emulated ones diff --git a/examples/gitlab-minimal.yml b/examples/gitlab-minimal.yml index 5c987965..7e9aa516 100644 --- a/examples/gitlab-minimal.yml +++ b/examples/gitlab-minimal.yml @@ -12,7 +12,7 @@ linux: DOCKER_TLS_CERTDIR: "" script: - curl -sSL https://get.docker.com/ | sh - - python -m pip install cibuildwheel==2.8.1 + - python -m pip install cibuildwheel==2.9.0 - cibuildwheel --output-dir wheelhouse artifacts: paths: diff --git a/examples/travis-ci-deploy.yml b/examples/travis-ci-deploy.yml index 663080ab..3aac30e7 100644 --- a/examples/travis-ci-deploy.yml +++ b/examples/travis-ci-deploy.yml @@ -19,7 +19,7 @@ jobs: - ln -s /c/Python38/python.exe /c/Python38/python3.exe install: - - python3 -m pip install cibuildwheel==2.8.1 + - python3 -m pip install cibuildwheel==2.9.0 script: # build the wheels, put them into './dist' diff --git a/examples/travis-ci-minimal.yml b/examples/travis-ci-minimal.yml index 9ca1fee1..010f3c8c 100644 --- a/examples/travis-ci-minimal.yml +++ b/examples/travis-ci-minimal.yml @@ -25,7 +25,7 @@ jobs: - ln -s /c/Python38/python.exe /c/Python38/python3.exe install: - - python3 -m pip install cibuildwheel==2.8.1 + - python3 -m pip install cibuildwheel==2.9.0 script: # build the wheels, put them into './wheelhouse' diff --git a/examples/travis-ci-test-and-deploy.yml b/examples/travis-ci-test-and-deploy.yml index 42a27954..7271bdaa 100644 --- a/examples/travis-ci-test-and-deploy.yml +++ b/examples/travis-ci-test-and-deploy.yml @@ -54,7 +54,7 @@ jobs: - stage: deploy name: Build and deploy Linux wheels services: docker - install: python3 -m pip install cibuildwheel==2.8.1 twine + install: python3 -m pip install cibuildwheel==2.9.0 twine script: python3 -m cibuildwheel --output-dir wheelhouse after_success: python3 -m twine upload --skip-existing wheelhouse/*.whl # Deploy on windows @@ -62,7 +62,7 @@ jobs: name: Build and deploy Windows wheels os: windows language: shell - install: python3 -m pip install cibuildwheel==2.8.1 twine + install: python3 -m pip install cibuildwheel==2.9.0 twine script: python3 -m cibuildwheel --output-dir wheelhouse after_success: python3 -m twine upload --skip-existing wheelhouse/*.whl diff --git a/setup.cfg b/setup.cfg index 51718be9..06ce771f 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = cibuildwheel -version = 2.8.1 +version = 2.9.0 description = Build Python wheels on CI with minimal configuration. long_description = file: README.md long_description_content_type = text/markdown From 888771972aaa5bab46dfe0e210ac6d215861180b Mon Sep 17 00:00:00 2001 From: Joe Rickerby Date: Fri, 12 Aug 2022 11:46:24 +0100 Subject: [PATCH 17/17] Add @czaki to the maintainers --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 69c8a79c..162ae0c6 100644 --- a/README.md +++ b/README.md @@ -273,6 +273,7 @@ Maintainers - Yannick Jadoul [@YannickJadoul](https://github.com/YannickJadoul) - Matthieu Darbois [@mayeut](https://github.com/mayeut) - Henry Schreiner [@henryiii](https://github.com/henryiii) +- Grzegorz Bokota [@Czaki](https://github.com/Czaki) Credits -------