From 122af66cd19b81d701bb85c7ef2840b128bc43fe Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Tue, 22 Jun 2021 15:11:37 -0400 Subject: [PATCH 01/53] ci: also update projects displaly in workflow (#724) --- .github/workflows/update-dependencies.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/update-dependencies.yml b/.github/workflows/update-dependencies.yml index d1370556..4e7d55d8 100644 --- a/.github/workflows/update-dependencies.yml +++ b/.github/workflows/update-dependencies.yml @@ -17,6 +17,8 @@ jobs: run: nox --force-color -s update_constraints - name: "Run update: python configs" run: nox --force-color -s update_pins + - name: "Run update: docs user projects" + run: nox --force-color -s update_proj # we use this step to grab a Github App auth token, so that PRs generated by this workflow # run the GHA tests. From 9e1369e07d399cdfb1be155ab1d2219bead31fa4 Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Tue, 22 Jun 2021 18:14:57 -0400 Subject: [PATCH 02/53] docs: add Python 3.8 to the identifer list (#728) --- docs/options.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/options.md b/docs/options.md index aac21f94..648b90d6 100644 --- a/docs/options.md +++ b/docs/options.md @@ -155,7 +155,7 @@ When setting the options, you can use shell-style globbing syntax, as per [fnmat |--------------|---------------------------------------------------------------------|-------------------------------|-----------------------------------------------|----------------------------------------------------------------------------| | Python 3.6 | cp36-macosx_x86_64 | cp36-win_amd64
cp36-win32 | cp36-manylinux_x86_64
cp36-manylinux_i686 | cp36-manylinux_aarch64
cp36-manylinux_ppc64le
cp36-manylinux_s390x | | Python 3.7 | cp37-macosx_x86_64 | cp37-win_amd64
cp37-win32 | cp37-manylinux_x86_64
cp37-manylinux_i686 | cp37-manylinux_aarch64
cp37-manylinux_ppc64le
cp37-manylinux_s390x | -| Python 3.8 | cp38-macosx_x86_64 | cp38-win_amd64
cp38-win32 | cp38-manylinux_x86_64
cp38-manylinux_i686 | cp38-manylinux_aarch64
cp38-manylinux_ppc64le
cp38-manylinux_s390x | +| Python 3.8 | cp38-macosx_x86_64
cp38-macosx_universal2
cp38-macosx_arm64 | cp38-win_amd64
cp38-win32 | cp38-manylinux_x86_64
cp38-manylinux_i686 | cp38-manylinux_aarch64
cp38-manylinux_ppc64le
cp38-manylinux_s390x | | Python 3.9 | cp39-macosx_x86_64
cp39-macosx_universal2
cp39-macosx_arm64 | cp39-win_amd64
cp39-win32 | cp39-manylinux_x86_64
cp39-manylinux_i686 | cp39-manylinux_aarch64
cp39-manylinux_ppc64le
cp39-manylinux_s390x | | PyPy3.7 v7.3 | pp37-macosx_x86_64 | pp37-win_amd64 | pp37-manylinux_x86_64 | | From 515e9be2c4e5c1d8ee83f85efed475b72c7c3da6 Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Wed, 23 Jun 2021 10:47:18 -0400 Subject: [PATCH 03/53] feat: support pypa build (#521) * feat: support pypa build fix: update `cibuildwheel.linux.troubleshoot` to know about build Workaround issue with PyPy venv module by installing build[virtualenv] fix: test_dependency_constraints_file when using build fix: test/test_pep518.py fix: use `strtobool` to parse `CIBW_PYPA_BUILD` fix: update `cibuildwheel.linux.troubleshoot` to know about `python -m pip wheel` test: use `build_mode` in `test/test_dependency_versions.py` tests * refactor: use build-backend instead * Apply suggestions from code review Co-authored-by: Joe Rickerby * refactor: use literal types for build_frontend * refactor(tests): build_mode -> build_frontend_env * Update test/test_before_build.py Co-authored-by: Joe Rickerby --- cibuildwheel/__main__.py | 13 ++++ cibuildwheel/linux.py | 55 ++++++++++---- cibuildwheel/macos.py | 106 ++++++++++++++++++++------- cibuildwheel/resources/defaults.toml | 1 + cibuildwheel/util.py | 22 +++++- cibuildwheel/windows.py | 92 ++++++++++++++++++----- docs/options.md | 39 ++++++++++ test/conftest.py | 13 +++- test/test_0_basic.py | 4 +- test/test_before_build.py | 7 +- test/test_dependency_versions.py | 9 ++- test/test_pep518.py | 15 +++- test/test_troubleshooting.py | 4 +- 13 files changed, 301 insertions(+), 79 deletions(-) diff --git a/cibuildwheel/__main__.py b/cibuildwheel/__main__.py index 1d3ce40c..a1cb85cd 100644 --- a/cibuildwheel/__main__.py +++ b/cibuildwheel/__main__.py @@ -20,6 +20,7 @@ from cibuildwheel.options import ConfigOptions from cibuildwheel.projectfiles import get_requires_python_str from cibuildwheel.typing import PLATFORMS, PlatformName, assert_never from cibuildwheel.util import ( + BuildFrontend, BuildOptions, BuildSelector, DependencyConstraints, @@ -184,6 +185,7 @@ def main() -> None: archs_config_str = args.archs or options("archs", sep=" ") + build_frontend_str = options("build-frontend", env_plat=False) environment_config = options("environment", table={"item": '{k}="{v}"', "sep": " "}) before_all = options("before-all", sep=" && ") before_build = options("before-build", sep=" && ") @@ -200,6 +202,16 @@ def main() -> None: os.environ.get("CIBW_PRERELEASE_PYTHONS", "0") ) + build_frontend: BuildFrontend + if build_frontend_str == "build": + build_frontend = "build" + elif build_frontend_str == "pip": + build_frontend = "pip" + else: + msg = f"cibuildwheel: Unrecognised build frontend '{build_frontend}', only 'pip' and 'build' are supported" + print(msg, file=sys.stderr) + sys.exit(2) + package_files = {"setup.py", "setup.cfg", "pyproject.toml"} if not any(package_dir.joinpath(name).exists() for name in package_files): @@ -308,6 +320,7 @@ def main() -> None: environment=environment, dependency_constraints=dependency_constraints, manylinux_images=manylinux_images or None, + build_frontend=build_frontend, ) # Python is buffering by default when running on the CI platforms, giving problems interleaving subprocess call output with unflushed calls to 'print' diff --git a/cibuildwheel/linux.py b/cibuildwheel/linux.py index faeff20b..f22304c0 100644 --- a/cibuildwheel/linux.py +++ b/cibuildwheel/linux.py @@ -7,7 +7,7 @@ from typing import List, NamedTuple, Set from .architecture import Architecture from .docker_container import DockerContainer from .logger import log -from .typing import PathOrStr +from .typing import PathOrStr, assert_never from .util import ( BuildOptions, BuildSelector, @@ -145,7 +145,7 @@ def build(options: BuildOptions) -> None: env, executor=docker.environment_executor ) - # check config python and pip are still on PATH + # check config python is still on PATH which_python = docker.call( ["which", "python"], env=env, capture_output=True ).strip() @@ -180,18 +180,38 @@ def build(options: BuildOptions) -> None: docker.call(["rm", "-rf", built_wheel_dir]) docker.call(["mkdir", "-p", built_wheel_dir]) - docker.call( - [ - "pip", - "wheel", - container_package_dir, - "--wheel-dir", - built_wheel_dir, - "--no-deps", - *get_build_verbosity_extra_flags(options.build_verbosity), - ], - env=env, - ) + verbosity_flags = get_build_verbosity_extra_flags(options.build_verbosity) + + if options.build_frontend == "pip": + docker.call( + [ + "python", + "-m", + "pip", + "wheel", + container_package_dir, + f"--wheel-dir={built_wheel_dir}", + "--no-deps", + *verbosity_flags, + ], + env=env, + ) + elif options.build_frontend == "build": + config_setting = " ".join(verbosity_flags) + docker.call( + [ + "python", + "-m", + "build", + container_package_dir, + "--wheel", + f"--outdir={built_wheel_dir}", + f"--config-setting={config_setting}", + ], + env=env, + ) + else: + assert_never(options.build_frontend) built_wheel = docker.glob(built_wheel_dir, "*.whl")[0] @@ -291,8 +311,11 @@ def build(options: BuildOptions) -> None: def troubleshoot(package_dir: Path, error: Exception) -> None: - if isinstance(error, subprocess.CalledProcessError) and error.cmd[0:2] == ["pip", "wheel"]: - # the 'pip wheel' step failed. + if isinstance(error, subprocess.CalledProcessError) and ( + error.cmd[0:4] == ["python", "-m", "pip", "wheel"] + or error.cmd[0:3] == ["python", "-m", "build"] + ): + # the wheel build step failed print("Checking for common errors...") so_files = list(package_dir.glob("**/*.so")) diff --git a/cibuildwheel/macos.py b/cibuildwheel/macos.py index cbaeae61..72cce89f 100644 --- a/cibuildwheel/macos.py +++ b/cibuildwheel/macos.py @@ -12,13 +12,15 @@ from typing import Any, Dict, List, NamedTuple, Optional, Sequence, Set, Tuple, from .architecture import Architecture from .environment import ParsedEnvironment from .logger import log -from .typing import Literal, PathOrStr +from .typing import Literal, PathOrStr, assert_never from .util import ( + BuildFrontend, BuildOptions, BuildSelector, NonPlatformWheelError, download, get_build_verbosity_extra_flags, + get_pip_version, install_certifi_script, prepare_command, read_python_configs, @@ -178,7 +180,9 @@ def setup_python( python_configuration: PythonConfiguration, dependency_constraint_flags: Sequence[PathOrStr], environment: ParsedEnvironment, + build_frontend: BuildFrontend, ) -> Dict[str, str]: + implementation_id = python_configuration.identifier.split("-")[0] log.step(f"Installing Python {implementation_id}...") @@ -308,18 +312,33 @@ def setup_python( env.setdefault("SDKROOT", arm64_compatible_sdks[0]) log.step("Installing build tools...") - call( - [ - "pip", - "install", - "--upgrade", - "setuptools", - "wheel", - "delocate", - *dependency_constraint_flags, - ], - env=env, - ) + if build_frontend == "pip": + call( + [ + "pip", + "install", + "--upgrade", + "setuptools", + "wheel", + "delocate", + *dependency_constraint_flags, + ], + env=env, + ) + elif build_frontend == "build": + call( + [ + "pip", + "install", + "--upgrade", + "delocate", + "build[virtualenv]", + *dependency_constraint_flags, + ], + env=env, + ) + else: + assert_never(build_frontend) return env @@ -356,7 +375,12 @@ def build(options: BuildOptions) -> None: options.dependency_constraints.get_for_python_version(config.version), ] - env = setup_python(config, dependency_constraint_flags, options.environment) + env = setup_python( + config, + dependency_constraint_flags, + options.environment, + options.build_frontend, + ) if options.before_build: log.step("Running before_build...") @@ -370,20 +394,46 @@ def build(options: BuildOptions) -> None: shutil.rmtree(built_wheel_dir) built_wheel_dir.mkdir(parents=True) - # Path.resolve() is needed. Without it pip wheel may try to fetch package from pypi.org - # see https://github.com/pypa/cibuildwheel/pull/369 - call( - [ - "pip", - "wheel", - options.package_dir.resolve(), - "--wheel-dir", - built_wheel_dir, - "--no-deps", - *get_build_verbosity_extra_flags(options.build_verbosity), - ], - env=env, - ) + verbosity_flags = get_build_verbosity_extra_flags(options.build_verbosity) + + if options.build_frontend == "pip": + # Path.resolve() is needed. Without it pip wheel may try to fetch package from pypi.org + # see https://github.com/pypa/cibuildwheel/pull/369 + call( + [ + "python", + "-m", + "pip", + "wheel", + options.package_dir.resolve(), + f"--wheel-dir={built_wheel_dir}", + "--no-deps", + *verbosity_flags, + ], + env=env, + ) + elif options.build_frontend == "build": + config_setting = " ".join(verbosity_flags) + build_env = env.copy() + if options.dependency_constraints: + build_env["PIP_CONSTRAINT"] = str( + options.dependency_constraints.get_for_python_version(config.version) + ) + build_env["VIRTUALENV_PIP"] = get_pip_version(env) + call( + [ + "python", + "-m", + "build", + options.package_dir, + "--wheel", + f"--outdir={built_wheel_dir}", + f"--config-setting={config_setting}", + ], + env=build_env, + ) + else: + assert_never(options.build_frontend) built_wheel = next(built_wheel_dir.glob("*.whl")) diff --git a/cibuildwheel/resources/defaults.toml b/cibuildwheel/resources/defaults.toml index a9ecff02..5bf179c8 100644 --- a/cibuildwheel/resources/defaults.toml +++ b/cibuildwheel/resources/defaults.toml @@ -4,6 +4,7 @@ skip = "" test-skip = "" archs = ["auto"] +build-frontend = "pip" dependency-versions = "pinned" environment = {} build-verbosity = "" diff --git a/cibuildwheel/util.py b/cibuildwheel/util.py index 5d5c4768..3fb47ef3 100644 --- a/cibuildwheel/util.py +++ b/cibuildwheel/util.py @@ -4,6 +4,8 @@ import itertools import os import re import ssl +import subprocess +import sys import textwrap import time import urllib.request @@ -20,12 +22,14 @@ from packaging.version import Version from .architecture import Architecture from .environment import ParsedEnvironment -from .typing import PathOrStr, PlatformName +from .typing import Literal, PathOrStr, PlatformName resources_dir = Path(__file__).parent / "resources" install_certifi_script = resources_dir / "install_certifi.py" +BuildFrontend = Literal["pip", "build"] + def prepare_command(command: str, **kwargs: PathOrStr) -> str: """ @@ -218,6 +222,7 @@ class BuildOptions(NamedTuple): test_requires: List[str] test_extras: str build_verbosity: int + build_frontend: BuildFrontend class NonPlatformWheelError(Exception): @@ -300,3 +305,18 @@ def print_new_wheels(msg: str, output_dir: Path) -> Iterator[None]: s = time.time() - start_time m = s / 60 print(msg.format(n=n, s=s, m=m), *sorted(f" {f.name}" for f in new_contents), sep="\n") + + +def get_pip_version(env: Dict[str, str]) -> str: + # we use shell=True here for windows, even though we don't need a shell due to a bug + # https://bugs.python.org/issue8557 + shell = sys.platform.startswith("win") + versions_output_text = subprocess.check_output( + ["python", "-m", "pip", "freeze", "--all"], universal_newlines=True, shell=shell, env=env + ) + (pip_version,) = ( + version[5:] + for version in versions_output_text.strip().splitlines() + if version.startswith("pip==") + ) + return pip_version diff --git a/cibuildwheel/windows.py b/cibuildwheel/windows.py index 9ce8e309..07b501df 100644 --- a/cibuildwheel/windows.py +++ b/cibuildwheel/windows.py @@ -10,13 +10,15 @@ from zipfile import ZipFile from .architecture import Architecture from .environment import ParsedEnvironment from .logger import log -from .typing import PathOrStr +from .typing import PathOrStr, assert_never from .util import ( + BuildFrontend, BuildOptions, BuildSelector, NonPlatformWheelError, download, get_build_verbosity_extra_flags, + get_pip_version, prepare_command, read_python_configs, ) @@ -114,7 +116,9 @@ def setup_python( python_configuration: PythonConfiguration, dependency_constraint_flags: Sequence[PathOrStr], environment: ParsedEnvironment, + build_frontend: BuildFrontend, ) -> Dict[str, str]: + nuget = Path("C:\\cibw\\nuget.exe") if not nuget.exists(): log.step("Downloading nuget...") @@ -214,10 +218,26 @@ def setup_python( sys.exit(1) call(["pip", "--version"], env=env) - call( - ["pip", "install", "--upgrade", "setuptools", "wheel", *dependency_constraint_flags], - env=env, - ) + + if build_frontend == "pip": + call( + [ + "pip", + "install", + "--upgrade", + "setuptools", + "wheel", + *dependency_constraint_flags, + ], + env=env, + ) + elif build_frontend == "build": + call( + ["pip", "install", "--upgrade", "build[virtualenv]", *dependency_constraint_flags], + env=env, + ) + else: + assert_never(build_frontend) return env @@ -251,7 +271,12 @@ def build(options: BuildOptions) -> None: ] # install Python - env = setup_python(config, dependency_constraint_flags, options.environment) + env = setup_python( + config, + dependency_constraint_flags, + options.environment, + options.build_frontend, + ) # run the before_build command if options.before_build: @@ -265,20 +290,47 @@ def build(options: BuildOptions) -> None: if built_wheel_dir.exists(): shutil.rmtree(built_wheel_dir) built_wheel_dir.mkdir(parents=True) - # Path.resolve() is needed. Without it pip wheel may try to fetch package from pypi.org - # see https://github.com/pypa/cibuildwheel/pull/369 - call( - [ - "pip", - "wheel", - options.package_dir.resolve(), - "-w", - built_wheel_dir, - "--no-deps", - *get_build_verbosity_extra_flags(options.build_verbosity), - ], - env=env, - ) + + verbosity_flags = get_build_verbosity_extra_flags(options.build_verbosity) + + if options.build_frontend == "pip": + # Path.resolve() is needed. Without it pip wheel may try to fetch package from pypi.org + # see https://github.com/pypa/cibuildwheel/pull/369 + call( + [ + "python", + "-m", + "pip", + "wheel", + options.package_dir.resolve(), + f"--wheel-dir={built_wheel_dir}", + "--no-deps", + *get_build_verbosity_extra_flags(options.build_verbosity), + ], + env=env, + ) + elif options.build_frontend == "build": + config_setting = " ".join(verbosity_flags) + build_env = env.copy() + if options.dependency_constraints: + build_env["PIP_CONSTRAINT"] = str( + options.dependency_constraints.get_for_python_version(config.version) + ) + build_env["VIRTUALENV_PIP"] = get_pip_version(env) + call( + [ + "python", + "-m", + "build", + options.package_dir, + "--wheel", + f"--outdir={built_wheel_dir}", + f"--config-setting={config_setting}", + ], + env=build_env, + ) + else: + assert_never(options.build_frontend) built_wheel = next(built_wheel_dir.glob("*.whl")) diff --git a/docs/options.md b/docs/options.md index 648b90d6..cf55f1e7 100644 --- a/docs/options.md +++ b/docs/options.md @@ -435,6 +435,45 @@ This option can also be set using the [command-line option](#command-line) `--pr ## Build customization +### `CIBW_BUILD_FRONTEND` {: #build-frontend} +> Set the tool to use to build, either "pip" (default for now) or "build" + +Choose which build backend to use. Can either be "pip", which will run +`python -m pip wheel`, or "build", which will run `python -m build --wheel`. + +!!! tip + Until v2.0.0, [pip] was the only way to build wheels, and is still the + default. However, we expect that at some point in the future, cibuildwheel + will change the default to [build], in line with the PyPA's recommendation. + If you want to try `build` before this, you can use this option. + +[pip]: https://pip.pypa.io/en/stable/cli/pip_wheel/ +[build]: https://github.com/pypa/build/ + +#### Examples + +!!! tab examples "Environment variables" + + ```yaml + # Switch to using build + CIBW_BUILD_FRONTEND: "build" + + # Ensure pip is used even if the default changes in the future + CIBW_BUILD_FRONTEND: "pip" + ``` + +!!! tab examples "pyproject.toml" + + ```toml + [tool.cibuildwheel] + # Switch to using build + build-frontend = "build" + + # Ensure pip is used even if the default changes in the future + build-frontend = "pip" + ``` + + ### `CIBW_ENVIRONMENT` {: #environment} > Set environment variables needed during the build diff --git a/test/conftest.py b/test/conftest.py index 410c0707..6e3293b2 100644 --- a/test/conftest.py +++ b/test/conftest.py @@ -1,7 +1,9 @@ +from typing import Dict + import pytest -def pytest_addoption(parser): +def pytest_addoption(parser) -> None: parser.addoption( "--run-emulation", action="store_true", default=False, help="run emulation tests" ) @@ -11,7 +13,7 @@ def pytest_configure(config): config.addinivalue_line("markers", "emulation: mark test requiring qemu binfmt_misc to run") -def pytest_collection_modifyitems(config, items): +def pytest_collection_modifyitems(config, items) -> None: if config.getoption("--run-emulation"): # --run-emulation given in cli: do not skip emulation tests return @@ -19,3 +21,10 @@ def pytest_collection_modifyitems(config, items): for item in items: if "emulation" in item.keywords: item.add_marker(skip_emulation) + + +@pytest.fixture( + params=[{"CIBW_BUILD_FRONTEND": "pip"}, {"CIBW_BUILD_FRONTEND": "build"}], ids=["pip", "build"] +) +def build_frontend_env(request) -> Dict[str, str]: + return request.param # type: ignore diff --git a/test/test_0_basic.py b/test/test_0_basic.py index a8453226..8f2cd4bf 100644 --- a/test/test_0_basic.py +++ b/test/test_0_basic.py @@ -18,12 +18,12 @@ basic_project = test_projects.new_c_project( ) -def test(tmp_path): +def test(tmp_path, build_frontend_env): project_dir = tmp_path / "project" basic_project.generate(project_dir) # build the wheels - actual_wheels = utils.cibuildwheel_run(project_dir) + actual_wheels = utils.cibuildwheel_run(project_dir, add_env=build_frontend_env) # check that the expected wheels are produced expected_wheels = utils.expected_wheels("spam", "0.1.0") diff --git a/test/test_before_build.py b/test/test_before_build.py index f84bd800..00906acc 100644 --- a/test/test_before_build.py +++ b/test/test_before_build.py @@ -25,8 +25,13 @@ project_with_before_build_asserts = test_projects.new_c_project( stored_executable = f.read() print('stored_executable', stored_executable) print('sys.executable', sys.executable) + # windows/mac are case insensitive - assert os.path.realpath(stored_executable).lower() == os.path.realpath(sys.executable).lower() + stored_path = os.path.realpath(stored_executable).lower() + current_path = os.path.realpath(sys.executable).lower() + + # TODO: This is not valid in an virtual environment + assert stored_path == current_path, '{0} != {1}'.format(stored_path, current_path) """ ) ) diff --git a/test/test_dependency_versions.py b/test/test_dependency_versions.py index dc1f0b50..1090450f 100644 --- a/test/test_dependency_versions.py +++ b/test/test_dependency_versions.py @@ -48,7 +48,7 @@ def get_versions_from_constraint_file(constraint_file): @pytest.mark.parametrize("python_version", ["3.6", "3.8", "3.9"]) -def test_pinned_versions(tmp_path, python_version): +def test_pinned_versions(tmp_path, python_version, build_frontend_env): if utils.platform == "linux": pytest.skip("linux doesn't pin individual tool versions, it pins manylinux images instead") @@ -85,6 +85,7 @@ def test_pinned_versions(tmp_path, python_version): add_env={ "CIBW_BUILD": build_pattern, "CIBW_ENVIRONMENT": cibw_environment_option, + **build_frontend_env, }, ) @@ -107,7 +108,7 @@ def test_pinned_versions(tmp_path, python_version): assert set(actual_wheels) == set(expected_wheels) -def test_dependency_constraints_file(tmp_path): +def test_dependency_constraints_file(tmp_path, build_frontend_env): if utils.platform == "linux": pytest.skip("linux doesn't pin individual tool versions, it pins manylinux images instead") @@ -118,7 +119,7 @@ def test_dependency_constraints_file(tmp_path): "pip": "20.0.2", "setuptools": "53.0.0", "wheel": "0.34.2", - "virtualenv": "20.0.10", + "virtualenv": "20.0.35", } constraints_file = tmp_path / "constraints.txt" @@ -129,6 +130,7 @@ def test_dependency_constraints_file(tmp_path): setuptools=={setuptools} wheel=={wheel} virtualenv=={virtualenv} + importlib-metadata<3,>=0.12; python_version < "3.8" """.format( **tool_versions ) @@ -149,6 +151,7 @@ def test_dependency_constraints_file(tmp_path): add_env={ "CIBW_ENVIRONMENT": cibw_environment_option, "CIBW_DEPENDENCY_VERSIONS": str(constraints_file), + **build_frontend_env, }, ) diff --git a/test/test_pep518.py b/test/test_pep518.py index 921024f5..12883428 100644 --- a/test/test_pep518.py +++ b/test/test_pep518.py @@ -1,4 +1,3 @@ -import os import textwrap from . import test_projects, utils @@ -33,13 +32,13 @@ build-backend = "setuptools.build_meta" """ -def test_pep518(tmp_path): +def test_pep518(tmp_path, build_frontend_env): project_dir = tmp_path / "project" basic_project.generate(project_dir) # build the wheels - actual_wheels = utils.cibuildwheel_run(project_dir) + actual_wheels = utils.cibuildwheel_run(project_dir, add_env=build_frontend_env) # check that the expected wheels are produced expected_wheels = utils.expected_wheels("spam", "0.1.0") @@ -50,4 +49,12 @@ def test_pep518(tmp_path): assert not (project_dir / "42").exists() assert not (project_dir / "4.1.2").exists() - assert len(os.listdir(project_dir)) == len(basic_project.files) + # pypa/build creates a "build" folder & a "*.egg-info" folder for the wheel being built, + # this should be harmless so remove them + contents = [ + item + for item in project_dir.iterdir() + if item.name != "build" and not item.name.endswith(".egg-info") + ] + + assert len(contents) == len(basic_project.files) diff --git a/test/test_troubleshooting.py b/test/test_troubleshooting.py index e1d2cf8d..6a58ca1f 100644 --- a/test/test_troubleshooting.py +++ b/test/test_troubleshooting.py @@ -16,7 +16,7 @@ raise Exception('this build will fail') """ -def test_failed_project_with_so_files(tmp_path, capfd): +def test_failed_project_with_so_files(tmp_path, capfd, build_frontend_env): if utils.platform != "linux": pytest.skip("this test is only relevant to the linux build") @@ -24,7 +24,7 @@ def test_failed_project_with_so_files(tmp_path, capfd): so_file_project.generate(project_dir) with pytest.raises(subprocess.CalledProcessError): - utils.cibuildwheel_run(project_dir) + utils.cibuildwheel_run(project_dir, add_env=build_frontend_env) captured = capfd.readouterr() print("out", captured.out) From d6cf349b1aed804ef69b131d0b16a66e7a71f752 Mon Sep 17 00:00:00 2001 From: Joe Rickerby Date: Fri, 25 Jun 2021 13:55:15 +0100 Subject: [PATCH 04/53] Bump version: v2.0.0a4 --- README.md | 2 +- cibuildwheel/__init__.py | 2 +- 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 +- 16 files changed, 22 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index 462d41ba..17fb08d3 100644 --- a/README.md +++ b/README.md @@ -85,7 +85,7 @@ jobs: - uses: actions/setup-python@v2 - name: Install cibuildwheel - run: python -m pip install cibuildwheel==2.0.0a3 + run: python -m pip install cibuildwheel==2.0.0a4 - name: Build wheels run: python -m cibuildwheel --output-dir wheelhouse diff --git a/cibuildwheel/__init__.py b/cibuildwheel/__init__.py index 6d39a388..981a129f 100644 --- a/cibuildwheel/__init__.py +++ b/cibuildwheel/__init__.py @@ -1 +1 @@ -__version__ = "2.0.0a3" +__version__ = "2.0.0a4" diff --git a/docs/faq.md b/docs/faq.md index 97a7469f..50d9a480 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -210,7 +210,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.0.0a3 +uses: pypa/cibuildwheel@v2.0.0a4 ``` 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. @@ -236,7 +236,7 @@ The second option, and the only one that supports other CI systems, is using a ` ```bash # requirements-cibw.txt -cibuildwheel==2.0.0a3 +cibuildwheel==2.0.0a4 ``` Then your install step would have `python -m pip install -r requirements-cibw.txt` in it. Your `dependabot.yml` file could look like this: diff --git a/docs/setup.md b/docs/setup.md index 6763863f..ee768444 100644 --- a/docs/setup.md +++ b/docs/setup.md @@ -46,7 +46,7 @@ To build Linux, Mac, and Windows wheels using GitHub Actions, create a `.github/ - uses: actions/checkout@v2 - name: Build wheels - run: pipx run cibuildwheel==2.0.0a3 + run: pipx run cibuildwheel==2.0.0a4 - uses: actions/upload-artifact@v2 with: @@ -81,7 +81,7 @@ To build Linux, Mac, and Windows wheels using GitHub Actions, create a `.github/ - uses: actions/setup-python@v2 - name: Install cibuildwheel - run: python -m pip install cibuildwheel==2.0.0a3 + run: python -m pip install cibuildwheel==2.0.0a4 - name: Build wheels run: python -m cibuildwheel --output-dir wheelhouse diff --git a/examples/appveyor-minimal.yml b/examples/appveyor-minimal.yml index 03aae825..75840f5a 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.0.0a3 +install: python -m pip install cibuildwheel==2.0.0a4 build_script: python -m cibuildwheel --output-dir wheelhouse diff --git a/examples/azure-pipelines-minimal.yml b/examples/azure-pipelines-minimal.yml index 7ea008d5..f4c91c8a 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.0.0a3 + pip3 install cibuildwheel==2.0.0a4 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.0.0a3 + python3 -m pip install cibuildwheel==2.0.0a4 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.0.0a3 + pip install cibuildwheel==2.0.0a4 displayName: Install dependencies - bash: cibuildwheel --output-dir wheelhouse . displayName: Build wheels diff --git a/examples/circleci-minimal.yml b/examples/circleci-minimal.yml index 07c645f8..1ee2ffd7 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.0.0a3 + pip3 install --user cibuildwheel==2.0.0a4 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.0.0a3 + pip3 install cibuildwheel==2.0.0a4 cibuildwheel --output-dir wheelhouse - store_artifacts: path: wheelhouse/ diff --git a/examples/github-apple-silicon.yml b/examples/github-apple-silicon.yml index dfb38327..4c4a73af 100644 --- a/examples/github-apple-silicon.yml +++ b/examples/github-apple-silicon.yml @@ -10,7 +10,7 @@ jobs: - uses: actions/checkout@v2 - name: Build wheels - uses: pypa/cibuildwheel@v2.0.0a3 + uses: pypa/cibuildwheel@v2.0.0a4 env: CIBW_ARCHS_MACOS: x86_64 universal2 diff --git a/examples/github-deploy.yml b/examples/github-deploy.yml index e1e1b691..f4bedaeb 100644 --- a/examples/github-deploy.yml +++ b/examples/github-deploy.yml @@ -27,7 +27,7 @@ jobs: python-version: '3.8' - name: Build wheels - uses: pypa/cibuildwheel@v2.0.0a3 + uses: pypa/cibuildwheel@v2.0.0a4 - uses: actions/upload-artifact@v2 with: diff --git a/examples/github-minimal.yml b/examples/github-minimal.yml index 7a112402..8b6adab6 100644 --- a/examples/github-minimal.yml +++ b/examples/github-minimal.yml @@ -14,7 +14,7 @@ jobs: - uses: actions/checkout@v2 - name: Build wheels - uses: pypa/cibuildwheel@v2.0.0a3 + uses: pypa/cibuildwheel@v2.0.0a4 # to supply options, put them in 'env', like: # env: # CIBW_SOME_OPTION: value diff --git a/examples/github-with-qemu.yml b/examples/github-with-qemu.yml index 58731b97..7a4ef960 100644 --- a/examples/github-with-qemu.yml +++ b/examples/github-with-qemu.yml @@ -25,7 +25,7 @@ jobs: platforms: all - name: Build wheels - uses: pypa/cibuildwheel@v2.0.0a3 + uses: pypa/cibuildwheel@v2.0.0a4 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 75594aa3..3b83b7c5 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.0.0a3 + - python -m pip install cibuildwheel==2.0.0a4 - cibuildwheel --output-dir wheelhouse artifacts: paths: diff --git a/examples/travis-ci-deploy.yml b/examples/travis-ci-deploy.yml index 8da7ffd1..fd328b70 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.0.0a3 + - python3 -m pip install cibuildwheel==2.0.0a4 script: # build the wheels, put them into './wheelhouse' diff --git a/examples/travis-ci-minimal.yml b/examples/travis-ci-minimal.yml index aa6da795..878f6310 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.0.0a3 + - python3 -m pip install cibuildwheel==2.0.0a4 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 658721b9..f67e9ad7 100644 --- a/examples/travis-ci-test-and-deploy.yml +++ b/examples/travis-ci-test-and-deploy.yml @@ -57,7 +57,7 @@ jobs: - stage: deploy name: Build and deploy Linux wheels services: docker - install: python3 -m pip install cibuildwheel==2.0.0a3 + install: python3 -m pip install cibuildwheel==2.0.0a4 script: python3 -m cibuildwheel --output-dir wheelhouse after_success: | python3 -m pip install twine @@ -67,7 +67,7 @@ jobs: name: Build and deploy Windows wheels os: windows language: shell - install: python3 -m pip install cibuildwheel==2.0.0a3 + install: python3 -m pip install cibuildwheel==2.0.0a4 script: python3 -m cibuildwheel --output-dir wheelhouse after_success: | python3 -m pip install twine diff --git a/setup.cfg b/setup.cfg index 4d7ffce1..454bdf15 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = cibuildwheel -version = 2.0.0a3 +version = 2.0.0a4 description = Build Python wheels on CI with minimal configuration. long_description = file: README.md long_description_content_type = text/markdown From 489d560fff0d17c67ade4f9b812c1b8263a61e87 Mon Sep 17 00:00:00 2001 From: Joe Rickerby Date: Fri, 25 Jun 2021 13:59:08 +0100 Subject: [PATCH 05/53] Update changelog --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 17fb08d3..5afa2848 100644 --- a/README.md +++ b/README.md @@ -351,6 +351,10 @@ Changelog _This release is currently in prerelease. The below release notes will be condensed into a single entry when we do a final release._ +_v2.0.0a4 (25 Jun 2021)_ + +- 🌟 Added support for building wheels with [build](https://github.com/pypa/build), as well as pip. This feature is controlled with the [`CIBW_BUILD_FRONTEND`](https://cibuildwheel.readthedocs.io/en/latest/options/#build-frontend) option. + _v2.0.0a3 (22 Jun 2021)_ - 🌟 You can now configure cibuildwheel options inside your project's `pyproject.toml`! Environment variables still work of course. Check out the [documentation](https://cibuildwheel.readthedocs.io/en/latest/options/#setting-options) for more info. From f879db29665de36d6a788e1a57dcef8eca6e943a Mon Sep 17 00:00:00 2001 From: "cibuildwheel-bot[bot]" <83877280+cibuildwheel-bot[bot]@users.noreply.github.com> Date: Mon, 28 Jun 2021 09:17:01 -0400 Subject: [PATCH 06/53] Update dependencies (#736) Co-authored-by: mayeut --- README.md | 120 +++++++++--------- .../resources/constraints-python36.txt | 8 +- .../resources/constraints-python37.txt | 6 +- .../resources/constraints-python38.txt | 4 +- .../resources/constraints-python39.txt | 4 +- cibuildwheel/resources/constraints.txt | 4 +- 6 files changed, 73 insertions(+), 73 deletions(-) diff --git a/README.md b/README.md index 5afa2848..b10f5b51 100644 --- a/README.md +++ b/README.md @@ -188,8 +188,8 @@ Here are some repos that use cibuildwheel. | [pyjet][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | The interface between FastJet and NumPy | | [numpythia][] | ![github icon][] | ![apple icon][] ![linux icon][] | The interface between PYTHIA and NumPy | | [fathon][] | ![travisci icon][] | ![apple icon][] ![linux icon][] | python package for DFA (Detrended Fluctuation Analysis) and related algorithms | -| [GSD][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Cython and NumPy project with 64-bit wheels. | | [polaroid][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Full range of wheels for setuptools rust, with auto release and PyPI deploy. | +| [GSD][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Cython and NumPy project with 64-bit wheels. | | [pybind11 scikit_build_example][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | An example combining scikit-build and pybind11 | | [pyinstrument_cext][] | ![travisci icon][] ![appveyor icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | A simple C extension, without external dependencies | | [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. | @@ -247,8 +247,8 @@ Here are some repos that use cibuildwheel. [pyjet]: https://github.com/scikit-hep/pyjet [numpythia]: https://github.com/scikit-hep/numpythia [fathon]: https://github.com/stfbnc/fathon -[GSD]: https://github.com/glotzerlab/gsd [polaroid]: https://github.com/daggy1234/polaroid +[GSD]: https://github.com/glotzerlab/gsd [pybind11 scikit_build_example]: https://github.com/pybind/scikit_build_example [pyinstrument_cext]: https://github.com/joerick/pyinstrument_cext [Imagecodecs (fork)]: https://github.com/czaki/imagecodecs_build @@ -266,64 +266,64 @@ Here are some repos that use cibuildwheel. [apple icon]: docs/data/readme_icons/apple.svg [linux icon]: docs/data/readme_icons/linux.svg - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/cibuildwheel/resources/constraints-python36.txt b/cibuildwheel/resources/constraints-python36.txt index 4334fec7..91f84049 100644 --- a/cibuildwheel/resources/constraints-python36.txt +++ b/cibuildwheel/resources/constraints-python36.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile +# This file is autogenerated by pip-compile with python 3.6 # To update, run: # # bin/update_dependencies.py @@ -12,9 +12,9 @@ distlib==0.3.2 # via virtualenv filelock==3.0.12 # via virtualenv -importlib-metadata==4.5.0 +importlib-metadata==4.6.0 # via virtualenv -importlib-resources==5.1.4 +importlib-resources==5.2.0 # via virtualenv six==1.16.0 # via virtualenv @@ -32,7 +32,7 @@ zipp==3.4.1 # importlib-resources # The following packages are considered to be unsafe in a requirements file: -pip==21.1.2 +pip==21.1.3 # via -r cibuildwheel/resources/constraints.in setuptools==57.0.0 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/constraints-python37.txt b/cibuildwheel/resources/constraints-python37.txt index 3fc1587b..3b9d014f 100644 --- a/cibuildwheel/resources/constraints-python37.txt +++ b/cibuildwheel/resources/constraints-python37.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile +# This file is autogenerated by pip-compile with python 3.7 # To update, run: # # bin/update_dependencies.py @@ -12,7 +12,7 @@ distlib==0.3.2 # via virtualenv filelock==3.0.12 # via virtualenv -importlib-metadata==4.5.0 +importlib-metadata==4.6.0 # via virtualenv six==1.16.0 # via virtualenv @@ -28,7 +28,7 @@ zipp==3.4.1 # via importlib-metadata # The following packages are considered to be unsafe in a requirements file: -pip==21.1.2 +pip==21.1.3 # via -r cibuildwheel/resources/constraints.in setuptools==57.0.0 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/constraints-python38.txt b/cibuildwheel/resources/constraints-python38.txt index e12207ec..a95297ce 100644 --- a/cibuildwheel/resources/constraints-python38.txt +++ b/cibuildwheel/resources/constraints-python38.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile +# This file is autogenerated by pip-compile with python 3.8 # To update, run: # # bin/update_dependencies.py @@ -22,7 +22,7 @@ wheel==0.36.2 # delocate # The following packages are considered to be unsafe in a requirements file: -pip==21.1.2 +pip==21.1.3 # via -r cibuildwheel/resources/constraints.in setuptools==57.0.0 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/constraints-python39.txt b/cibuildwheel/resources/constraints-python39.txt index e12207ec..e92a8ea4 100644 --- a/cibuildwheel/resources/constraints-python39.txt +++ b/cibuildwheel/resources/constraints-python39.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile +# This file is autogenerated by pip-compile with python 3.9 # To update, run: # # bin/update_dependencies.py @@ -22,7 +22,7 @@ wheel==0.36.2 # delocate # The following packages are considered to be unsafe in a requirements file: -pip==21.1.2 +pip==21.1.3 # via -r cibuildwheel/resources/constraints.in setuptools==57.0.0 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/constraints.txt b/cibuildwheel/resources/constraints.txt index e12207ec..e92a8ea4 100644 --- a/cibuildwheel/resources/constraints.txt +++ b/cibuildwheel/resources/constraints.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile +# This file is autogenerated by pip-compile with python 3.9 # To update, run: # # bin/update_dependencies.py @@ -22,7 +22,7 @@ wheel==0.36.2 # delocate # The following packages are considered to be unsafe in a requirements file: -pip==21.1.2 +pip==21.1.3 # via -r cibuildwheel/resources/constraints.in setuptools==57.0.0 # via -r cibuildwheel/resources/constraints.in From ec424751f5c79c42fdbd42634a22768c837fb758 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 28 Jun 2021 14:13:33 -0400 Subject: [PATCH 07/53] [pre-commit.ci] pre-commit autoupdate (#737) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/pre-commit/mirrors-mypy: v0.902 β†’ v0.910](https://github.com/pre-commit/mirrors-mypy/compare/v0.902...v0.910) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 40ceac84..bf17bc85 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -42,7 +42,7 @@ repos: stages: [manual] - repo: https://github.com/pre-commit/mirrors-mypy - rev: v0.902 + rev: v0.910 hooks: - id: mypy exclude: ^(bin|cibuildwheel/resources|docs)/.*py$ From 79bf489a08e045fc6f8b8551aad49a78244acd4c Mon Sep 17 00:00:00 2001 From: Joe Rickerby Date: Tue, 29 Jun 2021 20:50:16 +0100 Subject: [PATCH 08/53] Update options table in README for CIBW_BUILD_FRONTEND --- README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index b10f5b51..95004f10 100644 --- a/README.md +++ b/README.md @@ -107,14 +107,15 @@ Options |---|--------|-------------| | **Build selection** | [`CIBW_PLATFORM`](https://cibuildwheel.readthedocs.io/en/stable/options/#platform) | Override the auto-detected target platform | | | [`CIBW_BUILD`](https://cibuildwheel.readthedocs.io/en/stable/options/#build-skip)
[`CIBW_SKIP`](https://cibuildwheel.readthedocs.io/en/stable/options/#build-skip) | Choose the Python versions to build | -| | [`CIBW_ARCHS`](https://cibuildwheel.readthedocs.io/en/stable/options/#archs) | Change the architectures built on your machine by default | +| | [`CIBW_ARCHS`](https://cibuildwheel.readthedocs.io/en/stable/options/#archs) | Change the architectures built on your machine by default. | | | [`CIBW_PROJECT_REQUIRES_PYTHON`](https://cibuildwheel.readthedocs.io/en/stable/options/#requires-python) | Manually set the Python compatibility of your project | | | [`CIBW_PRERELEASE_PYTHONS`](https://cibuildwheel.readthedocs.io/en/stable/options/#prerelease-pythons) | Enable building with pre-release versions of Python | -| **Build customization** | [`CIBW_ENVIRONMENT`](https://cibuildwheel.readthedocs.io/en/stable/options/#environment) | Set environment variables needed during the build | +| **Build customization** | [`CIBW_BUILD_FRONTEND`](https://cibuildwheel.readthedocs.io/en/stable/options/#build-frontend) | Set the tool to use to build, either "pip" (default for now) or "build" | +| | [`CIBW_ENVIRONMENT`](https://cibuildwheel.readthedocs.io/en/stable/options/#environment) | Set environment variables needed during the build | | | [`CIBW_BEFORE_ALL`](https://cibuildwheel.readthedocs.io/en/stable/options/#before-all) | Execute a shell command on the build system before any wheels are built. | | | [`CIBW_BEFORE_BUILD`](https://cibuildwheel.readthedocs.io/en/stable/options/#before-build) | Execute a shell command preparing each wheel's build | | | [`CIBW_REPAIR_WHEEL_COMMAND`](https://cibuildwheel.readthedocs.io/en/stable/options/#repair-wheel-command) | Execute a shell command to repair each (non-pure Python) built wheel | -| | [`CIBW_MANYLINUX_X86_64_IMAGE`](https://cibuildwheel.readthedocs.io/en/stable/options/#manylinux-image)
[`CIBW_MANYLINUX_I686_IMAGE`](https://cibuildwheel.readthedocs.io/en/stable/options/#manylinux-image)
[`CIBW_MANYLINUX_PYPY_X86_64_IMAGE`](https://cibuildwheel.readthedocs.io/en/stable/options/#manylinux-image)
[`CIBW_MANYLINUX_AARCH64_IMAGE`](https://cibuildwheel.readthedocs.io/en/stable/options/#manylinux-image)
[`CIBW_MANYLINUX_PPC64LE_IMAGE`](https://cibuildwheel.readthedocs.io/en/stable/options/#manylinux-image)
[`CIBW_MANYLINUX_S390X_IMAGE`](https://cibuildwheel.readthedocs.io/en/stable/options/#manylinux-image)
[`CIBW_MANYLINUX_PYPY_AARCH64_IMAGE`](https://cibuildwheel.readthedocs.io/en/stable/options/#manylinux-image)
[`CIBW_MANYLINUX_PYPY_I686_IMAGE`](https://cibuildwheel.readthedocs.io/en/stable/options/#manylinux-image) | Specify alternative manylinux docker images | +| | [`CIBW_MANYLINUX_*_IMAGE`](https://cibuildwheel.readthedocs.io/en/stable/options/#manylinux-image) | Specify alternative manylinux Docker images | | | [`CIBW_DEPENDENCY_VERSIONS`](https://cibuildwheel.readthedocs.io/en/stable/options/#dependency-versions) | Specify how cibuildwheel controls the versions of the tools it uses | | **Testing** | [`CIBW_TEST_COMMAND`](https://cibuildwheel.readthedocs.io/en/stable/options/#test-command) | Execute a shell command to test each built wheel | | | [`CIBW_BEFORE_TEST`](https://cibuildwheel.readthedocs.io/en/stable/options/#before-test) | Execute a shell command before testing each wheel | From 46fd5d9de4268c87510c499cede95c2971162c5a Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Tue, 29 Jun 2021 23:33:09 -0400 Subject: [PATCH 09/53] docs: clarify location of dependabot file (#731) * docs: clarify location of dependabot file * Update faq.md --- docs/faq.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/faq.md b/docs/faq.md index 50d9a480..76bab61c 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -215,7 +215,7 @@ uses: pypa/cibuildwheel@v2.0.0a4 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. -Then, your `dependabot.yml` file could look like this: +Then, your `.github/dependabot.yml` file could look like this: ```yaml version: 2 @@ -239,7 +239,7 @@ The second option, and the only one that supports other CI systems, is using a ` cibuildwheel==2.0.0a4 ``` -Then your install step would have `python -m pip install -r requirements-cibw.txt` in it. Your `dependabot.yml` file could look like this: +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: ```yaml version: 2 From b552fbd016bf1394c6b7de96d5bf98dde5b17730 Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Wed, 30 Jun 2021 18:10:01 -0400 Subject: [PATCH 10/53] fix(action): Output a single stream (#741) --- action.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/action.yml b/action.yml index 6429ff78..5913d528 100644 --- a/action.yml +++ b/action.yml @@ -19,10 +19,12 @@ runs: # This needs powershell-core because github.action path is a Windows-style # path on Windows. Powershell-core understands both types of paths. + # Redirecting stderr to stdout to fix interleaving issue in Actions. - run: > pipx run --spec ${{ github.action_path }} cibuildwheel ${{ inputs.package-dir }} --output-dir ${{ inputs.output-dir }} + 2>&1 shell: pwsh From fcf8892abc5bd9ff92d09536397eabe6e801947d Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sat, 3 Jul 2021 19:07:52 +0200 Subject: [PATCH 11/53] chore: update packaging dev requirement (#746) * chore: update packaging dev requirement Requires packaging>=21.0 This allows to simplify a bit `bin/update_pythons.py` with regards to typing. * update packaging dev requirement for pre-commit --- .pre-commit-config.yaml | 2 +- bin/update_pythons.py | 6 +++--- setup.py | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index bf17bc85..153ba6c2 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -57,7 +57,7 @@ repos: files: ^(bin|docs)/.*py$ args: ["--python-version=3.7", "--scripts-are-modules"] additional_dependencies: - - packaging + - packaging>=21.0 - rich - types-jinja2 - types-pyyaml diff --git a/bin/update_pythons.py b/bin/update_pythons.py index 4eacb195..457d63a9 100755 --- a/bin/update_pythons.py +++ b/bin/update_pythons.py @@ -6,7 +6,7 @@ import copy import difflib import logging from pathlib import Path -from typing import Any, Iterable, Union, cast +from typing import Any, Union import click import requests @@ -86,7 +86,7 @@ class WindowsVersions: # Specifier.filter selects all non pre-releases that match the spec, # unless there are only pre-releases, then it selects pre-releases # instead (like pip) - unsorted_versions = cast(Iterable[Version], spec.filter(self.version_dict)) + unsorted_versions = spec.filter(self.version_dict) versions = sorted(unsorted_versions, reverse=True) log.debug(f"Windows {self.arch} {spec} has {', '.join(str(v) for v in versions)}") @@ -201,7 +201,7 @@ class CPythonVersions: ) -> ConfigMacOS | None: # see note above on Specifier.filter - unsorted_versions = cast(Iterable[Version], spec.filter(self.versions_dict)) + unsorted_versions = spec.filter(self.versions_dict) sorted_versions = sorted(unsorted_versions, reverse=True) if version <= Version("3.8.9999"): diff --git a/setup.py b/setup.py index b876c789..bcd7324b 100644 --- a/setup.py +++ b/setup.py @@ -20,7 +20,7 @@ extras = { "pyyaml", "requests", "rich>=9.6", - "packaging>=20.8", + "packaging>=21.0", ], "mypy": [ "mypy>=0.901", From a49312635c34cd9054b63dfa52eb398636237d4d Mon Sep 17 00:00:00 2001 From: mayeut Date: Mon, 5 Jul 2021 06:10:47 +0000 Subject: [PATCH 12/53] Update dependencies --- README.md | 120 +++++++++--------- cibuildwheel/resources/build-platforms.toml | 10 +- .../resources/constraints-python36.txt | 6 +- .../resources/constraints-python37.txt | 6 +- .../resources/constraints-python38.txt | 2 +- .../resources/constraints-python39.txt | 2 +- cibuildwheel/resources/constraints.txt | 2 +- .../resources/pinned_docker_images.cfg | 44 +++---- 8 files changed, 96 insertions(+), 96 deletions(-) diff --git a/README.md b/README.md index b10f5b51..e5ac2396 100644 --- a/README.md +++ b/README.md @@ -185,9 +185,9 @@ Here are some repos that use cibuildwheel. | [TgCrypto][] | ![travisci icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Includes a Windows Travis build. | | [pybase64][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Fast Base64 encoding/decoding in Python | | [etebase-py][] | ![travisci icon][] | ![linux icon][] | Python bindings to a Rust library using `setuptools-rust`, and `sccache` for improved speed. | +| [fathon][] | ![travisci icon][] | ![apple icon][] ![linux icon][] | python package for DFA (Detrended Fluctuation Analysis) and related algorithms | | [pyjet][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | The interface between FastJet and NumPy | | [numpythia][] | ![github icon][] | ![apple icon][] ![linux icon][] | The interface between PYTHIA and NumPy | -| [fathon][] | ![travisci icon][] | ![apple icon][] ![linux icon][] | python package for DFA (Detrended Fluctuation Analysis) and related algorithms | | [polaroid][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Full range of wheels for setuptools rust, with auto release and PyPI deploy. | | [GSD][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Cython and NumPy project with 64-bit wheels. | | [pybind11 scikit_build_example][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | An example combining scikit-build and pybind11 | @@ -244,9 +244,9 @@ Here are some repos that use cibuildwheel. [TgCrypto]: https://github.com/pyrogram/tgcrypto [pybase64]: https://github.com/mayeut/pybase64 [etebase-py]: https://github.com/etesync/etebase-py +[fathon]: https://github.com/stfbnc/fathon [pyjet]: https://github.com/scikit-hep/pyjet [numpythia]: https://github.com/scikit-hep/numpythia -[fathon]: https://github.com/stfbnc/fathon [polaroid]: https://github.com/daggy1234/polaroid [GSD]: https://github.com/glotzerlab/gsd [pybind11 scikit_build_example]: https://github.com/pybind/scikit_build_example @@ -266,64 +266,64 @@ Here are some repos that use cibuildwheel. [apple icon]: docs/data/readme_icons/apple.svg [linux icon]: docs/data/readme_icons/linux.svg - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/cibuildwheel/resources/build-platforms.toml b/cibuildwheel/resources/build-platforms.toml index 5ebaf129..803e6c6e 100644 --- a/cibuildwheel/resources/build-platforms.toml +++ b/cibuildwheel/resources/build-platforms.toml @@ -37,9 +37,9 @@ python_configurations = [ { identifier = "cp38-macosx_x86_64", version = "3.8", url = "https://www.python.org/ftp/python/3.8.10/python-3.8.10-macosx10.9.pkg" }, { identifier = "cp38-macosx_arm64", version = "3.8", url = "https://www.python.org/ftp/python/3.8.10/python-3.8.10-macosx10.9.pkg" }, { identifier = "cp38-macosx_universal2", version = "3.8", url = "https://www.python.org/ftp/python/3.8.10/python-3.8.10-macosx10.9.pkg" }, - { identifier = "cp39-macosx_x86_64", version = "3.9", url = "https://www.python.org/ftp/python/3.9.5/python-3.9.5-macos11.pkg" }, - { identifier = "cp39-macosx_arm64", version = "3.9", url = "https://www.python.org/ftp/python/3.9.5/python-3.9.5-macos11.pkg" }, - { identifier = "cp39-macosx_universal2", version = "3.9", url = "https://www.python.org/ftp/python/3.9.5/python-3.9.5-macos11.pkg" }, + { identifier = "cp39-macosx_x86_64", version = "3.9", url = "https://www.python.org/ftp/python/3.9.6/python-3.9.6-macos11.pkg" }, + { identifier = "cp39-macosx_arm64", version = "3.9", url = "https://www.python.org/ftp/python/3.9.6/python-3.9.6-macos11.pkg" }, + { identifier = "cp39-macosx_universal2", version = "3.9", url = "https://www.python.org/ftp/python/3.9.6/python-3.9.6-macos11.pkg" }, { identifier = "cp310-macosx_x86_64", version = "3.10", url = "https://www.python.org/ftp/python/3.10.0/python-3.10.0b3-macos11.pkg" }, { identifier = "cp310-macosx_arm64", version = "3.10", url = "https://www.python.org/ftp/python/3.10.0/python-3.10.0b3-macos11.pkg" }, { identifier = "cp310-macosx_universal2", version = "3.10", url = "https://www.python.org/ftp/python/3.10.0/python-3.10.0b3-macos11.pkg" }, @@ -54,8 +54,8 @@ python_configurations = [ { identifier = "cp37-win_amd64", version = "3.7.9", arch = "64" }, { identifier = "cp38-win32", version = "3.8.10", arch = "32" }, { identifier = "cp38-win_amd64", version = "3.8.10", arch = "64" }, - { identifier = "cp39-win32", version = "3.9.5", arch = "32" }, - { identifier = "cp39-win_amd64", version = "3.9.5", arch = "64" }, + { identifier = "cp39-win32", version = "3.9.6", arch = "32" }, + { identifier = "cp39-win_amd64", version = "3.9.6", arch = "64" }, { identifier = "cp310-win32", version = "3.10.0-b3", arch = "32" }, { identifier = "cp310-win_amd64", version = "3.10.0-b3", arch = "64" }, { identifier = "pp37-win_amd64", version = "3.7", arch = "64", url = "https://downloads.python.org/pypy/pypy3.7-v7.3.5-win64.zip" }, diff --git a/cibuildwheel/resources/constraints-python36.txt b/cibuildwheel/resources/constraints-python36.txt index 91f84049..aba151fe 100644 --- a/cibuildwheel/resources/constraints-python36.txt +++ b/cibuildwheel/resources/constraints-python36.txt @@ -12,7 +12,7 @@ distlib==0.3.2 # via virtualenv filelock==3.0.12 # via virtualenv -importlib-metadata==4.6.0 +importlib-metadata==4.6.1 # via virtualenv importlib-resources==5.2.0 # via virtualenv @@ -26,7 +26,7 @@ wheel==0.36.2 # via # -r cibuildwheel/resources/constraints.in # delocate -zipp==3.4.1 +zipp==3.5.0 # via # importlib-metadata # importlib-resources @@ -34,5 +34,5 @@ zipp==3.4.1 # The following packages are considered to be unsafe in a requirements file: pip==21.1.3 # via -r cibuildwheel/resources/constraints.in -setuptools==57.0.0 +setuptools==57.1.0 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/constraints-python37.txt b/cibuildwheel/resources/constraints-python37.txt index 3b9d014f..5b3caa9e 100644 --- a/cibuildwheel/resources/constraints-python37.txt +++ b/cibuildwheel/resources/constraints-python37.txt @@ -12,7 +12,7 @@ distlib==0.3.2 # via virtualenv filelock==3.0.12 # via virtualenv -importlib-metadata==4.6.0 +importlib-metadata==4.6.1 # via virtualenv six==1.16.0 # via virtualenv @@ -24,11 +24,11 @@ wheel==0.36.2 # via # -r cibuildwheel/resources/constraints.in # delocate -zipp==3.4.1 +zipp==3.5.0 # via importlib-metadata # The following packages are considered to be unsafe in a requirements file: pip==21.1.3 # via -r cibuildwheel/resources/constraints.in -setuptools==57.0.0 +setuptools==57.1.0 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/constraints-python38.txt b/cibuildwheel/resources/constraints-python38.txt index a95297ce..3ccee887 100644 --- a/cibuildwheel/resources/constraints-python38.txt +++ b/cibuildwheel/resources/constraints-python38.txt @@ -24,5 +24,5 @@ wheel==0.36.2 # The following packages are considered to be unsafe in a requirements file: pip==21.1.3 # via -r cibuildwheel/resources/constraints.in -setuptools==57.0.0 +setuptools==57.1.0 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/constraints-python39.txt b/cibuildwheel/resources/constraints-python39.txt index e92a8ea4..57d28e20 100644 --- a/cibuildwheel/resources/constraints-python39.txt +++ b/cibuildwheel/resources/constraints-python39.txt @@ -24,5 +24,5 @@ wheel==0.36.2 # The following packages are considered to be unsafe in a requirements file: pip==21.1.3 # via -r cibuildwheel/resources/constraints.in -setuptools==57.0.0 +setuptools==57.1.0 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/constraints.txt b/cibuildwheel/resources/constraints.txt index e92a8ea4..57d28e20 100644 --- a/cibuildwheel/resources/constraints.txt +++ b/cibuildwheel/resources/constraints.txt @@ -24,5 +24,5 @@ wheel==0.36.2 # The following packages are considered to be unsafe in a requirements file: pip==21.1.3 # via -r cibuildwheel/resources/constraints.in -setuptools==57.0.0 +setuptools==57.1.0 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/pinned_docker_images.cfg b/cibuildwheel/resources/pinned_docker_images.cfg index 6e9ad226..72f782d3 100644 --- a/cibuildwheel/resources/pinned_docker_images.cfg +++ b/cibuildwheel/resources/pinned_docker_images.cfg @@ -1,38 +1,38 @@ [x86_64] -manylinux1 = quay.io/pypa/manylinux1_x86_64:2021-05-31-f12b4c4 -manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2021-06-07-00faba2 -manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2021-06-07-00faba2 -manylinux_2_24 = quay.io/pypa/manylinux_2_24_x86_64:2021-06-07-00faba2 +manylinux1 = quay.io/pypa/manylinux1_x86_64:2021-07-04-13bcf48 +manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2021-07-04-1e3ce39 +manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2021-07-04-1e3ce39 +manylinux_2_24 = quay.io/pypa/manylinux_2_24_x86_64:2021-07-04-1e3ce39 [i686] -manylinux1 = quay.io/pypa/manylinux1_i686:2021-05-31-f12b4c4 -manylinux2010 = quay.io/pypa/manylinux2010_i686:2021-06-07-00faba2 -manylinux2014 = quay.io/pypa/manylinux2014_i686:2021-06-07-00faba2 -manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2021-06-07-00faba2 +manylinux1 = quay.io/pypa/manylinux1_i686:2021-07-04-13bcf48 +manylinux2010 = quay.io/pypa/manylinux2010_i686:2021-07-04-1e3ce39 +manylinux2014 = quay.io/pypa/manylinux2014_i686:2021-07-04-1e3ce39 +manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2021-07-04-1e3ce39 [pypy_x86_64] -manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2021-06-07-00faba2 -manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2021-06-07-00faba2 -manylinux_2_24 = quay.io/pypa/manylinux_2_24_x86_64:2021-06-07-00faba2 +manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2021-07-04-1e3ce39 +manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2021-07-04-1e3ce39 +manylinux_2_24 = quay.io/pypa/manylinux_2_24_x86_64:2021-07-04-1e3ce39 [pypy_i686] -manylinux2010 = quay.io/pypa/manylinux2010_i686:2021-06-07-00faba2 -manylinux2014 = quay.io/pypa/manylinux2014_i686:2021-06-07-00faba2 -manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2021-06-07-00faba2 +manylinux2010 = quay.io/pypa/manylinux2010_i686:2021-07-04-1e3ce39 +manylinux2014 = quay.io/pypa/manylinux2014_i686:2021-07-04-1e3ce39 +manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2021-07-04-1e3ce39 [aarch64] -manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2021-06-07-00faba2 -manylinux_2_24 = quay.io/pypa/manylinux_2_24_aarch64:2021-06-07-00faba2 +manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2021-07-04-1e3ce39 +manylinux_2_24 = quay.io/pypa/manylinux_2_24_aarch64:2021-07-04-1e3ce39 [ppc64le] -manylinux2014 = quay.io/pypa/manylinux2014_ppc64le:2021-06-07-00faba2 -manylinux_2_24 = quay.io/pypa/manylinux_2_24_ppc64le:2021-06-07-00faba2 +manylinux2014 = quay.io/pypa/manylinux2014_ppc64le:2021-07-04-1e3ce39 +manylinux_2_24 = quay.io/pypa/manylinux_2_24_ppc64le:2021-07-04-1e3ce39 [s390x] -manylinux2014 = quay.io/pypa/manylinux2014_s390x:2021-06-07-00faba2 -manylinux_2_24 = quay.io/pypa/manylinux_2_24_s390x:2021-06-07-00faba2 +manylinux2014 = quay.io/pypa/manylinux2014_s390x:2021-07-04-1e3ce39 +manylinux_2_24 = quay.io/pypa/manylinux_2_24_s390x:2021-07-04-1e3ce39 [pypy_aarch64] -manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2021-06-07-00faba2 -manylinux_2_24 = quay.io/pypa/manylinux_2_24_aarch64:2021-06-07-00faba2 +manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2021-07-04-1e3ce39 +manylinux_2_24 = quay.io/pypa/manylinux_2_24_aarch64:2021-07-04-1e3ce39 From 9e82a3ea3211ef38c779946ec6057b1f5a6337d5 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 6 Jul 2021 00:48:50 +0200 Subject: [PATCH 13/53] [pre-commit.ci] pre-commit autoupdate (#748) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/asottile/pyupgrade: v2.19.4 β†’ v2.20.0](https://github.com/asottile/pyupgrade/compare/v2.19.4...v2.20.0) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 153ba6c2..cc131404 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.19.4 + rev: v2.20.0 hooks: - id: pyupgrade name: PyUpgrade 3.6+ From 4307b52ff28b631519d38bfa0dd09d6a9b39a81e Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Fri, 9 Jul 2021 09:16:20 -0400 Subject: [PATCH 14/53] fix: support space in constraints file path (#738) * tests: add space in constraints file * fix: use uri strings in PIP_CONSTRAINTS * WIP: try using quotes instead of uri * Update cibuildwheel/windows.py * Revert "Update cibuildwheel/windows.py" This reverts commit 0951425524166677fdfd8df7e6bbbc9782ea2fb0. * Revert "WIP: try using quotes instead of uri" This reverts commit 5790eda4c6f231d5958f4cbd720683f787eea042. * fix: work around pip bug with URI handling * WIP: try biger hack * fix: try using temporary file * refactor: use common prefix for install dir on Windows * Use more flexible type PathOrStr to simplify * Rename variables to make slightly clearer Co-authored-by: Joe Rickerby --- cibuildwheel/macos.py | 5 +-- cibuildwheel/windows.py | 63 ++++++++++++++++++++------------ test/test_dependency_versions.py | 2 +- 3 files changed, 43 insertions(+), 27 deletions(-) diff --git a/cibuildwheel/macos.py b/cibuildwheel/macos.py index 72cce89f..d8f6dbc5 100644 --- a/cibuildwheel/macos.py +++ b/cibuildwheel/macos.py @@ -416,9 +416,8 @@ def build(options: BuildOptions) -> None: config_setting = " ".join(verbosity_flags) build_env = env.copy() if options.dependency_constraints: - build_env["PIP_CONSTRAINT"] = str( - options.dependency_constraints.get_for_python_version(config.version) - ) + constr = options.dependency_constraints.get_for_python_version(config.version) + build_env["PIP_CONSTRAINT"] = constr.as_uri() build_env["VIRTUALENV_PIP"] = get_pip_version(env) call( [ diff --git a/cibuildwheel/windows.py b/cibuildwheel/windows.py index 07b501df..33e3b236 100644 --- a/cibuildwheel/windows.py +++ b/cibuildwheel/windows.py @@ -23,9 +23,11 @@ from .util import ( read_python_configs, ) +CIBW_INSTALL_PATH = Path("C:\\cibw") + def call( - args: Sequence[PathOrStr], env: Optional[Dict[str, str]] = None, cwd: Optional[str] = None + args: Sequence[PathOrStr], env: Optional[Dict[str, str]] = None, cwd: Optional[PathOrStr] = None ) -> None: print("+ " + " ".join(str(a) for a in args)) # we use shell=True here, even though we don't need a shell due to a bug @@ -33,7 +35,9 @@ def call( subprocess.run([str(a) for a in args], env=env, cwd=cwd, shell=True, check=True) -def shell(command: str, env: Optional[Dict[str, str]] = None, cwd: Optional[str] = None) -> None: +def shell( + command: str, env: Optional[Dict[str, str]] = None, cwd: Optional[PathOrStr] = None +) -> None: print(f"+ {command}") subprocess.run(command, env=env, cwd=cwd, shell=True, check=True) @@ -49,7 +53,7 @@ def get_nuget_args(version: str, arch: str) -> List[str]: "-FallbackSource", "https://api.nuget.org/v3/index.json", "-OutputDirectory", - "C:\\cibw\\python", + str(CIBW_INSTALL_PATH / "python"), ] @@ -102,9 +106,9 @@ def install_pypy(version: str, arch: str, url: str) -> Path: zip_filename = url.rsplit("/", 1)[-1] extension = ".zip" assert zip_filename.endswith(extension) - installation_path = Path("C:\\cibw") / zip_filename[: -len(extension)] + installation_path = CIBW_INSTALL_PATH / zip_filename[: -len(extension)] if not installation_path.exists(): - pypy_zip = Path("C:\\cibw") / zip_filename + pypy_zip = CIBW_INSTALL_PATH / zip_filename download(url, pypy_zip) # Extract to the parent directory because the zip file still contains a directory extract_zip(pypy_zip, installation_path.parent) @@ -119,7 +123,7 @@ def setup_python( build_frontend: BuildFrontend, ) -> Dict[str, str]: - nuget = Path("C:\\cibw\\nuget.exe") + nuget = CIBW_INSTALL_PATH / "nuget.exe" if not nuget.exists(): log.step("Downloading nuget...") download("https://dist.nuget.org/win-x86-commandline/latest/nuget.exe", nuget) @@ -184,7 +188,7 @@ def setup_python( requires_reinstall = not (installation_path / "Scripts" / "pip.exe").exists() if requires_reinstall: # maybe pip isn't installed at all. ensurepip resolves that. - call(["python", "-m", "ensurepip"], env=env, cwd="C:\\cibw") + call(["python", "-m", "ensurepip"], env=env, cwd=CIBW_INSTALL_PATH) # upgrade pip to the version matching our constraints # if necessary, reinstall it to ensure that it's available on PATH as 'pip.exe' @@ -199,7 +203,7 @@ def setup_python( *dependency_constraint_flags, ], env=env, - cwd="C:\\cibw", + cwd=CIBW_INSTALL_PATH, ) assert (installation_path / "Scripts" / "pip.exe").exists() @@ -313,22 +317,35 @@ def build(options: BuildOptions) -> None: config_setting = " ".join(verbosity_flags) build_env = env.copy() if options.dependency_constraints: - build_env["PIP_CONSTRAINT"] = str( - options.dependency_constraints.get_for_python_version(config.version) + constraints_path = options.dependency_constraints.get_for_python_version( + config.version + ) + # Bug in pip <= 21.1.3 - we can't have a space in the + # constraints file, and pip doesn't support drive letters + # in uhi. After probably pip 21.2, we can use uri. For + # now, use a temporary file. + if " " in str(constraints_path): + tmp_file = tempfile.NamedTemporaryFile( + "w", suffix="constraints.txt", delete=False, dir=CIBW_INSTALL_PATH + ) + with tmp_file as new_constraints_file, open(constraints_path) as f: + new_constraints_file.write(f.read()) + constraints_path = Path(new_constraints_file.name) + + build_env["PIP_CONSTRAINT"] = str(constraints_path) + build_env["VIRTUALENV_PIP"] = get_pip_version(env) + call( + [ + "python", + "-m", + "build", + options.package_dir, + "--wheel", + f"--outdir={built_wheel_dir}", + f"--config-setting={config_setting}", + ], + env=build_env, ) - build_env["VIRTUALENV_PIP"] = get_pip_version(env) - call( - [ - "python", - "-m", - "build", - options.package_dir, - "--wheel", - f"--outdir={built_wheel_dir}", - f"--config-setting={config_setting}", - ], - env=build_env, - ) else: assert_never(options.build_frontend) diff --git a/test/test_dependency_versions.py b/test/test_dependency_versions.py index 1090450f..18589f8f 100644 --- a/test/test_dependency_versions.py +++ b/test/test_dependency_versions.py @@ -122,7 +122,7 @@ def test_dependency_constraints_file(tmp_path, build_frontend_env): "virtualenv": "20.0.35", } - constraints_file = tmp_path / "constraints.txt" + constraints_file = tmp_path / "constraints file.txt" constraints_file.write_text( textwrap.dedent( """ From 0c32cc162ed1588b208b36698e06f9eacb0d17d6 Mon Sep 17 00:00:00 2001 From: Moritz <70905852+mschulteg@users.noreply.github.com> Date: Fri, 9 Jul 2021 18:23:06 +0200 Subject: [PATCH 15/53] docs: fix toml syntax in example config code. (#751) --- docs/options.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/options.md b/docs/options.md index cf55f1e7..539db4cf 100644 --- a/docs/options.md +++ b/docs/options.md @@ -330,11 +330,11 @@ This option can also be set using the [command-line option](#command-line) `--ar # Note that the `arm64` wheel and the `arm64` part of the `universal2` # wheel cannot be tested in this configuration. [tool.cibuildwheel.macos] - archs: ["x86_64", "universal2", "arm64"] + archs = ["x86_64", "universal2", "arm64"] # On an Linux Intel runner with qemu installed, build Intel and ARM wheels [tool.cibuildwheel.linux] - archs: ["auto", "aarch64"] + archs = ["auto", "aarch64"] ``` It is generally recommmended to use the environment variable or From 87499d42307e0e1c1893862b1674c44a58b80603 Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Fri, 9 Jul 2021 13:30:06 -0400 Subject: [PATCH 16/53] ci: fix circle ci image (#750) * ci: fix circle min image * Apply suggestions from code review Co-authored-by: Joe Rickerby Co-authored-by: Joe Rickerby --- .circleci/config.yml | 2 +- examples/circleci-minimal.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 7a70f273..88ff45ec 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -3,7 +3,7 @@ version: 2 jobs: osx-python3.6: macos: - xcode: 9.4.1 + xcode: 12.5.1 environment: PYTHON: python3 steps: diff --git a/examples/circleci-minimal.yml b/examples/circleci-minimal.yml index 1ee2ffd7..895b1ed0 100644 --- a/examples/circleci-minimal.yml +++ b/examples/circleci-minimal.yml @@ -19,7 +19,7 @@ jobs: osx-wheels: working_directory: ~/osx-wheels macos: - xcode: 10.0.0 + xcode: 12.5.1 steps: - checkout - run: From 63720bbc6714f176210af967aa329921ca1b4220 Mon Sep 17 00:00:00 2001 From: Joe Rickerby Date: Fri, 9 Jul 2021 18:56:12 +0100 Subject: [PATCH 17/53] Bump version: v2.0.0b1 --- README.md | 12 ++++++++---- cibuildwheel/__init__.py | 2 +- 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 +- 16 files changed, 29 insertions(+), 25 deletions(-) diff --git a/README.md b/README.md index ce4d7b46..c21e3d1c 100644 --- a/README.md +++ b/README.md @@ -85,7 +85,7 @@ jobs: - uses: actions/setup-python@v2 - name: Install cibuildwheel - run: python -m pip install cibuildwheel==2.0.0a4 + run: python -m pip install cibuildwheel==2.0.0b1 - name: Build wheels run: python -m cibuildwheel --output-dir wheelhouse @@ -352,15 +352,19 @@ Changelog _This release is currently in prerelease. The below release notes will be condensed into a single entry when we do a final release._ -_v2.0.0a4 (25 Jun 2021)_ +_v2.0.0b1 (9 July 2021)_ + +- πŸ› Bug fixes & docs improvements + +_v2.0.0a4 (25 June 2021)_ - 🌟 Added support for building wheels with [build](https://github.com/pypa/build), as well as pip. This feature is controlled with the [`CIBW_BUILD_FRONTEND`](https://cibuildwheel.readthedocs.io/en/latest/options/#build-frontend) option. -_v2.0.0a3 (22 Jun 2021)_ +_v2.0.0a3 (22 June 2021)_ - 🌟 You can now configure cibuildwheel options inside your project's `pyproject.toml`! Environment variables still work of course. Check out the [documentation](https://cibuildwheel.readthedocs.io/en/latest/options/#setting-options) for more info. -_v2.0.0a2 (1 Jun 2021)_ +_v2.0.0a2 (1 June 2021)_ - 🌟 Added the ability to test building wheels on CPython 3.10! Because CPython 3.10 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/latest/options/#prerelease-pythons) to test. (#675) - ✨ Added the ability to build CPython 3.8 wheels for Apple Silicon. (#704) diff --git a/cibuildwheel/__init__.py b/cibuildwheel/__init__.py index 981a129f..9b8d3ee1 100644 --- a/cibuildwheel/__init__.py +++ b/cibuildwheel/__init__.py @@ -1 +1 @@ -__version__ = "2.0.0a4" +__version__ = "2.0.0b1" diff --git a/docs/faq.md b/docs/faq.md index 76bab61c..c12647f9 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -210,7 +210,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.0.0a4 +uses: pypa/cibuildwheel@v2.0.0b1 ``` 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. @@ -236,7 +236,7 @@ The second option, and the only one that supports other CI systems, is using a ` ```bash # requirements-cibw.txt -cibuildwheel==2.0.0a4 +cibuildwheel==2.0.0b1 ``` 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 ee768444..60978acc 100644 --- a/docs/setup.md +++ b/docs/setup.md @@ -46,7 +46,7 @@ To build Linux, Mac, and Windows wheels using GitHub Actions, create a `.github/ - uses: actions/checkout@v2 - name: Build wheels - run: pipx run cibuildwheel==2.0.0a4 + run: pipx run cibuildwheel==2.0.0b1 - uses: actions/upload-artifact@v2 with: @@ -81,7 +81,7 @@ To build Linux, Mac, and Windows wheels using GitHub Actions, create a `.github/ - uses: actions/setup-python@v2 - name: Install cibuildwheel - run: python -m pip install cibuildwheel==2.0.0a4 + run: python -m pip install cibuildwheel==2.0.0b1 - name: Build wheels run: python -m cibuildwheel --output-dir wheelhouse diff --git a/examples/appveyor-minimal.yml b/examples/appveyor-minimal.yml index 75840f5a..606eac04 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.0.0a4 +install: python -m pip install cibuildwheel==2.0.0b1 build_script: python -m cibuildwheel --output-dir wheelhouse diff --git a/examples/azure-pipelines-minimal.yml b/examples/azure-pipelines-minimal.yml index f4c91c8a..8924c244 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.0.0a4 + pip3 install cibuildwheel==2.0.0b1 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.0.0a4 + python3 -m pip install cibuildwheel==2.0.0b1 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.0.0a4 + pip install cibuildwheel==2.0.0b1 displayName: Install dependencies - bash: cibuildwheel --output-dir wheelhouse . displayName: Build wheels diff --git a/examples/circleci-minimal.yml b/examples/circleci-minimal.yml index 895b1ed0..107c7790 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.0.0a4 + pip3 install --user cibuildwheel==2.0.0b1 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.0.0a4 + pip3 install cibuildwheel==2.0.0b1 cibuildwheel --output-dir wheelhouse - store_artifacts: path: wheelhouse/ diff --git a/examples/github-apple-silicon.yml b/examples/github-apple-silicon.yml index 4c4a73af..ce95b905 100644 --- a/examples/github-apple-silicon.yml +++ b/examples/github-apple-silicon.yml @@ -10,7 +10,7 @@ jobs: - uses: actions/checkout@v2 - name: Build wheels - uses: pypa/cibuildwheel@v2.0.0a4 + uses: pypa/cibuildwheel@v2.0.0b1 env: CIBW_ARCHS_MACOS: x86_64 universal2 diff --git a/examples/github-deploy.yml b/examples/github-deploy.yml index f4bedaeb..39905fd4 100644 --- a/examples/github-deploy.yml +++ b/examples/github-deploy.yml @@ -27,7 +27,7 @@ jobs: python-version: '3.8' - name: Build wheels - uses: pypa/cibuildwheel@v2.0.0a4 + uses: pypa/cibuildwheel@v2.0.0b1 - uses: actions/upload-artifact@v2 with: diff --git a/examples/github-minimal.yml b/examples/github-minimal.yml index 8b6adab6..5ee433dd 100644 --- a/examples/github-minimal.yml +++ b/examples/github-minimal.yml @@ -14,7 +14,7 @@ jobs: - uses: actions/checkout@v2 - name: Build wheels - uses: pypa/cibuildwheel@v2.0.0a4 + uses: pypa/cibuildwheel@v2.0.0b1 # to supply options, put them in 'env', like: # env: # CIBW_SOME_OPTION: value diff --git a/examples/github-with-qemu.yml b/examples/github-with-qemu.yml index 7a4ef960..a03a44f7 100644 --- a/examples/github-with-qemu.yml +++ b/examples/github-with-qemu.yml @@ -25,7 +25,7 @@ jobs: platforms: all - name: Build wheels - uses: pypa/cibuildwheel@v2.0.0a4 + uses: pypa/cibuildwheel@v2.0.0b1 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 3b83b7c5..370ddc53 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.0.0a4 + - python -m pip install cibuildwheel==2.0.0b1 - cibuildwheel --output-dir wheelhouse artifacts: paths: diff --git a/examples/travis-ci-deploy.yml b/examples/travis-ci-deploy.yml index fd328b70..cc940bb2 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.0.0a4 + - python3 -m pip install cibuildwheel==2.0.0b1 script: # build the wheels, put them into './wheelhouse' diff --git a/examples/travis-ci-minimal.yml b/examples/travis-ci-minimal.yml index 878f6310..49f71f60 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.0.0a4 + - python3 -m pip install cibuildwheel==2.0.0b1 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 f67e9ad7..9945641d 100644 --- a/examples/travis-ci-test-and-deploy.yml +++ b/examples/travis-ci-test-and-deploy.yml @@ -57,7 +57,7 @@ jobs: - stage: deploy name: Build and deploy Linux wheels services: docker - install: python3 -m pip install cibuildwheel==2.0.0a4 + install: python3 -m pip install cibuildwheel==2.0.0b1 script: python3 -m cibuildwheel --output-dir wheelhouse after_success: | python3 -m pip install twine @@ -67,7 +67,7 @@ jobs: name: Build and deploy Windows wheels os: windows language: shell - install: python3 -m pip install cibuildwheel==2.0.0a4 + install: python3 -m pip install cibuildwheel==2.0.0b1 script: python3 -m cibuildwheel --output-dir wheelhouse after_success: | python3 -m pip install twine diff --git a/setup.cfg b/setup.cfg index 454bdf15..49ae7b97 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = cibuildwheel -version = 2.0.0a4 +version = 2.0.0b1 description = Build Python wheels on CI with minimal configuration. long_description = file: README.md long_description_content_type = text/markdown From 55264c914f58ca9164da726c0ec03ed28c7a4cf4 Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Fri, 9 Jul 2021 16:06:16 -0400 Subject: [PATCH 18/53] fix(action): use bash --- action.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/action.yml b/action.yml index 5913d528..4c910ef3 100644 --- a/action.yml +++ b/action.yml @@ -17,14 +17,12 @@ runs: using: composite steps: - # This needs powershell-core because github.action path is a Windows-style - # path on Windows. Powershell-core understands both types of paths. # Redirecting stderr to stdout to fix interleaving issue in Actions. - run: > pipx run - --spec ${{ github.action_path }} + --spec '${{ github.action_path }}' cibuildwheel ${{ inputs.package-dir }} --output-dir ${{ inputs.output-dir }} 2>&1 - shell: pwsh + shell: bash From 5e6ffa9f2529cbc011edfd631dd398ca5c4bc3a2 Mon Sep 17 00:00:00 2001 From: Joe Rickerby Date: Fri, 9 Jul 2021 22:18:03 +0100 Subject: [PATCH 19/53] Bump version: v2.0.0b2 --- README.md | 6 +++++- cibuildwheel/__init__.py | 2 +- 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 +- 16 files changed, 26 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index c21e3d1c..f62c8051 100644 --- a/README.md +++ b/README.md @@ -85,7 +85,7 @@ jobs: - uses: actions/setup-python@v2 - name: Install cibuildwheel - run: python -m pip install cibuildwheel==2.0.0b1 + run: python -m pip install cibuildwheel==2.0.0b2 - name: Build wheels run: python -m cibuildwheel --output-dir wheelhouse @@ -352,6 +352,10 @@ Changelog _This release is currently in prerelease. The below release notes will be condensed into a single entry when we do a final release._ +_v2.0.0b2 (9 July 2021)_ + +- πŸ› Bug fix to the GitHub action (#753) + _v2.0.0b1 (9 July 2021)_ - πŸ› Bug fixes & docs improvements diff --git a/cibuildwheel/__init__.py b/cibuildwheel/__init__.py index 9b8d3ee1..cb3c238a 100644 --- a/cibuildwheel/__init__.py +++ b/cibuildwheel/__init__.py @@ -1 +1 @@ -__version__ = "2.0.0b1" +__version__ = "2.0.0b2" diff --git a/docs/faq.md b/docs/faq.md index c12647f9..8dc36107 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -210,7 +210,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.0.0b1 +uses: pypa/cibuildwheel@v2.0.0b2 ``` 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. @@ -236,7 +236,7 @@ The second option, and the only one that supports other CI systems, is using a ` ```bash # requirements-cibw.txt -cibuildwheel==2.0.0b1 +cibuildwheel==2.0.0b2 ``` 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 60978acc..5482a535 100644 --- a/docs/setup.md +++ b/docs/setup.md @@ -46,7 +46,7 @@ To build Linux, Mac, and Windows wheels using GitHub Actions, create a `.github/ - uses: actions/checkout@v2 - name: Build wheels - run: pipx run cibuildwheel==2.0.0b1 + run: pipx run cibuildwheel==2.0.0b2 - uses: actions/upload-artifact@v2 with: @@ -81,7 +81,7 @@ To build Linux, Mac, and Windows wheels using GitHub Actions, create a `.github/ - uses: actions/setup-python@v2 - name: Install cibuildwheel - run: python -m pip install cibuildwheel==2.0.0b1 + run: python -m pip install cibuildwheel==2.0.0b2 - name: Build wheels run: python -m cibuildwheel --output-dir wheelhouse diff --git a/examples/appveyor-minimal.yml b/examples/appveyor-minimal.yml index 606eac04..f13ae6b6 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.0.0b1 +install: python -m pip install cibuildwheel==2.0.0b2 build_script: python -m cibuildwheel --output-dir wheelhouse diff --git a/examples/azure-pipelines-minimal.yml b/examples/azure-pipelines-minimal.yml index 8924c244..bcc21d5c 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.0.0b1 + pip3 install cibuildwheel==2.0.0b2 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.0.0b1 + python3 -m pip install cibuildwheel==2.0.0b2 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.0.0b1 + pip install cibuildwheel==2.0.0b2 displayName: Install dependencies - bash: cibuildwheel --output-dir wheelhouse . displayName: Build wheels diff --git a/examples/circleci-minimal.yml b/examples/circleci-minimal.yml index 107c7790..401f822a 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.0.0b1 + pip3 install --user cibuildwheel==2.0.0b2 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.0.0b1 + pip3 install cibuildwheel==2.0.0b2 cibuildwheel --output-dir wheelhouse - store_artifacts: path: wheelhouse/ diff --git a/examples/github-apple-silicon.yml b/examples/github-apple-silicon.yml index ce95b905..94aedb43 100644 --- a/examples/github-apple-silicon.yml +++ b/examples/github-apple-silicon.yml @@ -10,7 +10,7 @@ jobs: - uses: actions/checkout@v2 - name: Build wheels - uses: pypa/cibuildwheel@v2.0.0b1 + uses: pypa/cibuildwheel@v2.0.0b2 env: CIBW_ARCHS_MACOS: x86_64 universal2 diff --git a/examples/github-deploy.yml b/examples/github-deploy.yml index 39905fd4..c25bfd9e 100644 --- a/examples/github-deploy.yml +++ b/examples/github-deploy.yml @@ -27,7 +27,7 @@ jobs: python-version: '3.8' - name: Build wheels - uses: pypa/cibuildwheel@v2.0.0b1 + uses: pypa/cibuildwheel@v2.0.0b2 - uses: actions/upload-artifact@v2 with: diff --git a/examples/github-minimal.yml b/examples/github-minimal.yml index 5ee433dd..100c2ea4 100644 --- a/examples/github-minimal.yml +++ b/examples/github-minimal.yml @@ -14,7 +14,7 @@ jobs: - uses: actions/checkout@v2 - name: Build wheels - uses: pypa/cibuildwheel@v2.0.0b1 + uses: pypa/cibuildwheel@v2.0.0b2 # to supply options, put them in 'env', like: # env: # CIBW_SOME_OPTION: value diff --git a/examples/github-with-qemu.yml b/examples/github-with-qemu.yml index a03a44f7..436e6891 100644 --- a/examples/github-with-qemu.yml +++ b/examples/github-with-qemu.yml @@ -25,7 +25,7 @@ jobs: platforms: all - name: Build wheels - uses: pypa/cibuildwheel@v2.0.0b1 + uses: pypa/cibuildwheel@v2.0.0b2 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 370ddc53..de59258b 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.0.0b1 + - python -m pip install cibuildwheel==2.0.0b2 - cibuildwheel --output-dir wheelhouse artifacts: paths: diff --git a/examples/travis-ci-deploy.yml b/examples/travis-ci-deploy.yml index cc940bb2..d1f66434 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.0.0b1 + - python3 -m pip install cibuildwheel==2.0.0b2 script: # build the wheels, put them into './wheelhouse' diff --git a/examples/travis-ci-minimal.yml b/examples/travis-ci-minimal.yml index 49f71f60..9e7e9ba1 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.0.0b1 + - python3 -m pip install cibuildwheel==2.0.0b2 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 9945641d..9dbb9cd3 100644 --- a/examples/travis-ci-test-and-deploy.yml +++ b/examples/travis-ci-test-and-deploy.yml @@ -57,7 +57,7 @@ jobs: - stage: deploy name: Build and deploy Linux wheels services: docker - install: python3 -m pip install cibuildwheel==2.0.0b1 + install: python3 -m pip install cibuildwheel==2.0.0b2 script: python3 -m cibuildwheel --output-dir wheelhouse after_success: | python3 -m pip install twine @@ -67,7 +67,7 @@ jobs: name: Build and deploy Windows wheels os: windows language: shell - install: python3 -m pip install cibuildwheel==2.0.0b1 + install: python3 -m pip install cibuildwheel==2.0.0b2 script: python3 -m cibuildwheel --output-dir wheelhouse after_success: | python3 -m pip install twine diff --git a/setup.cfg b/setup.cfg index 49ae7b97..2287dc5d 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = cibuildwheel -version = 2.0.0b1 +version = 2.0.0b2 description = Build Python wheels on CI with minimal configuration. long_description = file: README.md long_description_content_type = text/markdown From f5c69b0901a0348c9f384e5e4dcce3958b58cbba Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 12 Jul 2021 22:42:50 +0000 Subject: [PATCH 20/53] [pre-commit.ci] pre-commit autoupdate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/asottile/pyupgrade: v2.20.0 β†’ v2.21.0](https://github.com/asottile/pyupgrade/compare/v2.20.0...v2.21.0) - [github.com/PyCQA/isort: 5.9.1 β†’ 5.9.2](https://github.com/PyCQA/isort/compare/5.9.1...5.9.2) --- .pre-commit-config.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index cc131404..a38bbf47 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.20.0 + rev: v2.21.0 hooks: - id: pyupgrade name: PyUpgrade 3.6+ @@ -26,7 +26,7 @@ repos: args: ["--py37-plus"] - repo: https://github.com/PyCQA/isort - rev: 5.9.1 + rev: 5.9.2 hooks: - id: isort From e132ce0b0e10564269b6a42aa3143318f45a83e8 Mon Sep 17 00:00:00 2001 From: mayeut Date: Wed, 14 Jul 2021 12:41:25 +0000 Subject: [PATCH 21/53] Update dependencies --- README.md | 136 +++++++++--------- cibuildwheel/resources/build-platforms.toml | 10 +- .../resources/constraints-python36.txt | 10 +- .../resources/constraints-python37.txt | 8 +- .../resources/constraints-python38.txt | 6 +- .../resources/constraints-python39.txt | 6 +- cibuildwheel/resources/constraints.txt | 6 +- .../resources/pinned_docker_images.cfg | 44 +++--- 8 files changed, 120 insertions(+), 106 deletions(-) diff --git a/README.md b/README.md index f62c8051..b26b38da 100644 --- a/README.md +++ b/README.md @@ -171,20 +171,20 @@ Here are some repos that use cibuildwheel. | [KDEpy][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Kernel Density Estimation in Python | | [cyvcf2][] | ![github icon][] | ![apple icon][] ![linux icon][] | cython + htslib == fast VCF and BCF processing | | [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. | | [dd-trace-py][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Uses custom alternate arch emulation on GitHub | -| [iminuit][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Jupyter-friendly Python interface for C++ MINUIT2 | +| [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. | +| [iminuit][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Jupyter-friendly Python interface for C++ MINUIT2 | | [CTranslate2][] | ![github icon][] | ![apple icon][] ![linux icon][] | Includes libraries from the [Intel oneAPI toolkit](https://software.intel.com/content/www/us/en/develop/tools/oneapi/base-toolkit.html). The Linux wheels also include CUDA libraries for GPU execution. | | [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 | | [Tokenizer][] | ![github icon][] ![travisci icon][] | ![apple icon][] ![linux icon][] | Fast and customizable text tokenization library with BPE and SentencePiece support | | [PyGLM][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Fast OpenGL Mathematics (GLM) for Python | | [bx-python][] | ![travisci icon][] | ![apple icon][] ![linux icon][] | A library that includes Cython extensions. | -| [iDynTree][] | ![github icon][] | ![linux icon][] | Uses manylinux_2_24 | | [boost-histogram][] | ![github icon][] ![travisci icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Supports full range of wheels, including PyPy and alternate archs. | -| [TgCrypto][] | ![travisci icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Includes a Windows Travis build. | +| [iDynTree][] | ![github icon][] | ![linux icon][] | Uses manylinux_2_24 | | [pybase64][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Fast Base64 encoding/decoding in Python | +| [TgCrypto][] | ![travisci icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Includes a Windows Travis build. | | [etebase-py][] | ![travisci icon][] | ![linux icon][] | Python bindings to a Rust library using `setuptools-rust`, and `sccache` for improved speed. | | [fathon][] | ![travisci icon][] | ![apple icon][] ![linux icon][] | python package for DFA (Detrended Fluctuation Analysis) and related algorithms | | [pyjet][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | The interface between FastJet and NumPy | @@ -192,8 +192,8 @@ Here are some repos that use cibuildwheel. | [polaroid][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Full range of wheels for setuptools rust, with auto release and PyPI deploy. | | [GSD][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Cython and NumPy project with 64-bit wheels. | | [pybind11 scikit_build_example][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | An example combining scikit-build and pybind11 | -| [pyinstrument_cext][] | ![travisci icon][] ![appveyor icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | A simple C extension, without external dependencies | | [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. | +| [pyinstrument_cext][] | ![travisci icon][] ![appveyor icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | A simple C extension, without external dependencies | | [xmlstarlet][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Python 3.6+ CFFI bindings with true MSVC build. | | [CorrectionLib][] | ![github icon][] | ![apple icon][] ![linux icon][] | Structured JSON powered correction library for HEP, designed for the CMS experiment at CERN. | | [SiPM][] | ![github icon][] | ![apple icon][] ![linux icon][] | High performance library for SiPM detectors simulation using C++17, OpenMP and AVX2 intrinsics. | @@ -230,20 +230,20 @@ Here are some repos that use cibuildwheel. [KDEpy]: https://github.com/tommyod/KDEpy [cyvcf2]: https://github.com/brentp/cyvcf2 [pybind11 python_example]: https://github.com/pybind/python_example -[sourmash]: https://github.com/dib-lab/sourmash [dd-trace-py]: https://github.com/DataDog/dd-trace-py -[iminuit]: https://github.com/scikit-hep/iminuit +[sourmash]: https://github.com/dib-lab/sourmash [time-machine]: https://github.com/adamchainz/time-machine +[iminuit]: https://github.com/scikit-hep/iminuit [CTranslate2]: https://github.com/OpenNMT/CTranslate2 [matrixprofile]: https://github.com/matrix-profile-foundation/matrixprofile [jq.py]: https://github.com/mwilliamson/jq.py [Tokenizer]: https://github.com/OpenNMT/Tokenizer [PyGLM]: https://github.com/Zuzu-Typ/PyGLM [bx-python]: https://github.com/bxlab/bx-python -[iDynTree]: https://github.com/robotology/idyntree [boost-histogram]: https://github.com/scikit-hep/boost-histogram -[TgCrypto]: https://github.com/pyrogram/tgcrypto +[iDynTree]: https://github.com/robotology/idyntree [pybase64]: https://github.com/mayeut/pybase64 +[TgCrypto]: https://github.com/pyrogram/tgcrypto [etebase-py]: https://github.com/etesync/etebase-py [fathon]: https://github.com/stfbnc/fathon [pyjet]: https://github.com/scikit-hep/pyjet @@ -251,8 +251,8 @@ Here are some repos that use cibuildwheel. [polaroid]: https://github.com/daggy1234/polaroid [GSD]: https://github.com/glotzerlab/gsd [pybind11 scikit_build_example]: https://github.com/pybind/scikit_build_example -[pyinstrument_cext]: https://github.com/joerick/pyinstrument_cext [Imagecodecs (fork)]: https://github.com/czaki/imagecodecs_build +[pyinstrument_cext]: https://github.com/joerick/pyinstrument_cext [xmlstarlet]: https://github.com/dimitern/xmlstarlet [CorrectionLib]: https://github.com/cms-nanoAOD/correctionlib [SiPM]: https://github.com/EdoPro98/SimSiPM @@ -267,64 +267,64 @@ Here are some repos that use cibuildwheel. [apple icon]: docs/data/readme_icons/apple.svg [linux icon]: docs/data/readme_icons/linux.svg - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/cibuildwheel/resources/build-platforms.toml b/cibuildwheel/resources/build-platforms.toml index 803e6c6e..1544c292 100644 --- a/cibuildwheel/resources/build-platforms.toml +++ b/cibuildwheel/resources/build-platforms.toml @@ -40,9 +40,9 @@ python_configurations = [ { identifier = "cp39-macosx_x86_64", version = "3.9", url = "https://www.python.org/ftp/python/3.9.6/python-3.9.6-macos11.pkg" }, { identifier = "cp39-macosx_arm64", version = "3.9", url = "https://www.python.org/ftp/python/3.9.6/python-3.9.6-macos11.pkg" }, { identifier = "cp39-macosx_universal2", version = "3.9", url = "https://www.python.org/ftp/python/3.9.6/python-3.9.6-macos11.pkg" }, - { identifier = "cp310-macosx_x86_64", version = "3.10", url = "https://www.python.org/ftp/python/3.10.0/python-3.10.0b3-macos11.pkg" }, - { identifier = "cp310-macosx_arm64", version = "3.10", url = "https://www.python.org/ftp/python/3.10.0/python-3.10.0b3-macos11.pkg" }, - { identifier = "cp310-macosx_universal2", version = "3.10", url = "https://www.python.org/ftp/python/3.10.0/python-3.10.0b3-macos11.pkg" }, + { identifier = "cp310-macosx_x86_64", version = "3.10", url = "https://www.python.org/ftp/python/3.10.0/python-3.10.0b4-macos11.pkg" }, + { identifier = "cp310-macosx_arm64", version = "3.10", url = "https://www.python.org/ftp/python/3.10.0/python-3.10.0b4-macos11.pkg" }, + { identifier = "cp310-macosx_universal2", version = "3.10", url = "https://www.python.org/ftp/python/3.10.0/python-3.10.0b4-macos11.pkg" }, { identifier = "pp37-macosx_x86_64", version = "3.7", url = "https://downloads.python.org/pypy/pypy3.7-v7.3.5-osx64.tar.bz2" }, ] @@ -56,7 +56,7 @@ python_configurations = [ { identifier = "cp38-win_amd64", version = "3.8.10", arch = "64" }, { identifier = "cp39-win32", version = "3.9.6", arch = "32" }, { identifier = "cp39-win_amd64", version = "3.9.6", arch = "64" }, - { identifier = "cp310-win32", version = "3.10.0-b3", arch = "32" }, - { identifier = "cp310-win_amd64", version = "3.10.0-b3", arch = "64" }, + { identifier = "cp310-win32", version = "3.10.0-b4", arch = "32" }, + { identifier = "cp310-win_amd64", version = "3.10.0-b4", arch = "64" }, { identifier = "pp37-win_amd64", version = "3.7", arch = "64", url = "https://downloads.python.org/pypy/pypy3.7-v7.3.5-win64.zip" }, ] diff --git a/cibuildwheel/resources/constraints-python36.txt b/cibuildwheel/resources/constraints-python36.txt index aba151fe..41445684 100644 --- a/cibuildwheel/resources/constraints-python36.txt +++ b/cibuildwheel/resources/constraints-python36.txt @@ -4,7 +4,7 @@ # # bin/update_dependencies.py # -appdirs==1.4.4 +backports.entry-points-selectable==1.1.0 # via virtualenv delocate==0.8.2 # via -r cibuildwheel/resources/constraints.in @@ -13,14 +13,18 @@ distlib==0.3.2 filelock==3.0.12 # via virtualenv importlib-metadata==4.6.1 - # via virtualenv + # via + # backports.entry-points-selectable + # virtualenv importlib-resources==5.2.0 # via virtualenv +platformdirs==2.0.2 + # via virtualenv six==1.16.0 # via virtualenv typing-extensions==3.10.0.0 # via importlib-metadata -virtualenv==20.4.7 +virtualenv==20.5.0 # via -r cibuildwheel/resources/constraints.in wheel==0.36.2 # via diff --git a/cibuildwheel/resources/constraints-python37.txt b/cibuildwheel/resources/constraints-python37.txt index 5b3caa9e..747681a8 100644 --- a/cibuildwheel/resources/constraints-python37.txt +++ b/cibuildwheel/resources/constraints-python37.txt @@ -4,7 +4,7 @@ # # bin/update_dependencies.py # -appdirs==1.4.4 +backports.entry-points-selectable==1.1.0 # via virtualenv delocate==0.8.2 # via -r cibuildwheel/resources/constraints.in @@ -13,12 +13,16 @@ distlib==0.3.2 filelock==3.0.12 # via virtualenv importlib-metadata==4.6.1 + # via + # backports.entry-points-selectable + # virtualenv +platformdirs==2.0.2 # via virtualenv six==1.16.0 # via virtualenv typing-extensions==3.10.0.0 # via importlib-metadata -virtualenv==20.4.7 +virtualenv==20.5.0 # via -r cibuildwheel/resources/constraints.in wheel==0.36.2 # via diff --git a/cibuildwheel/resources/constraints-python38.txt b/cibuildwheel/resources/constraints-python38.txt index 3ccee887..12183c67 100644 --- a/cibuildwheel/resources/constraints-python38.txt +++ b/cibuildwheel/resources/constraints-python38.txt @@ -4,7 +4,7 @@ # # bin/update_dependencies.py # -appdirs==1.4.4 +backports.entry-points-selectable==1.1.0 # via virtualenv delocate==0.8.2 # via -r cibuildwheel/resources/constraints.in @@ -12,9 +12,11 @@ distlib==0.3.2 # via virtualenv filelock==3.0.12 # via virtualenv +platformdirs==2.0.2 + # via virtualenv six==1.16.0 # via virtualenv -virtualenv==20.4.7 +virtualenv==20.5.0 # via -r cibuildwheel/resources/constraints.in wheel==0.36.2 # via diff --git a/cibuildwheel/resources/constraints-python39.txt b/cibuildwheel/resources/constraints-python39.txt index 57d28e20..cf4e9dc4 100644 --- a/cibuildwheel/resources/constraints-python39.txt +++ b/cibuildwheel/resources/constraints-python39.txt @@ -4,7 +4,7 @@ # # bin/update_dependencies.py # -appdirs==1.4.4 +backports.entry-points-selectable==1.1.0 # via virtualenv delocate==0.8.2 # via -r cibuildwheel/resources/constraints.in @@ -12,9 +12,11 @@ distlib==0.3.2 # via virtualenv filelock==3.0.12 # via virtualenv +platformdirs==2.0.2 + # via virtualenv six==1.16.0 # via virtualenv -virtualenv==20.4.7 +virtualenv==20.5.0 # via -r cibuildwheel/resources/constraints.in wheel==0.36.2 # via diff --git a/cibuildwheel/resources/constraints.txt b/cibuildwheel/resources/constraints.txt index 57d28e20..cf4e9dc4 100644 --- a/cibuildwheel/resources/constraints.txt +++ b/cibuildwheel/resources/constraints.txt @@ -4,7 +4,7 @@ # # bin/update_dependencies.py # -appdirs==1.4.4 +backports.entry-points-selectable==1.1.0 # via virtualenv delocate==0.8.2 # via -r cibuildwheel/resources/constraints.in @@ -12,9 +12,11 @@ distlib==0.3.2 # via virtualenv filelock==3.0.12 # via virtualenv +platformdirs==2.0.2 + # via virtualenv six==1.16.0 # via virtualenv -virtualenv==20.4.7 +virtualenv==20.5.0 # via -r cibuildwheel/resources/constraints.in wheel==0.36.2 # via diff --git a/cibuildwheel/resources/pinned_docker_images.cfg b/cibuildwheel/resources/pinned_docker_images.cfg index 72f782d3..d79efbc6 100644 --- a/cibuildwheel/resources/pinned_docker_images.cfg +++ b/cibuildwheel/resources/pinned_docker_images.cfg @@ -1,38 +1,38 @@ [x86_64] -manylinux1 = quay.io/pypa/manylinux1_x86_64:2021-07-04-13bcf48 -manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2021-07-04-1e3ce39 -manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2021-07-04-1e3ce39 -manylinux_2_24 = quay.io/pypa/manylinux_2_24_x86_64:2021-07-04-1e3ce39 +manylinux1 = quay.io/pypa/manylinux1_x86_64:2021-07-14-0700e04 +manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2021-07-14-67a6e11 +manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2021-07-14-67a6e11 +manylinux_2_24 = quay.io/pypa/manylinux_2_24_x86_64:2021-07-14-67a6e11 [i686] -manylinux1 = quay.io/pypa/manylinux1_i686:2021-07-04-13bcf48 -manylinux2010 = quay.io/pypa/manylinux2010_i686:2021-07-04-1e3ce39 -manylinux2014 = quay.io/pypa/manylinux2014_i686:2021-07-04-1e3ce39 -manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2021-07-04-1e3ce39 +manylinux1 = quay.io/pypa/manylinux1_i686:2021-07-14-0700e04 +manylinux2010 = quay.io/pypa/manylinux2010_i686:2021-07-14-67a6e11 +manylinux2014 = quay.io/pypa/manylinux2014_i686:2021-07-14-67a6e11 +manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2021-07-14-67a6e11 [pypy_x86_64] -manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2021-07-04-1e3ce39 -manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2021-07-04-1e3ce39 -manylinux_2_24 = quay.io/pypa/manylinux_2_24_x86_64:2021-07-04-1e3ce39 +manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2021-07-14-67a6e11 +manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2021-07-14-67a6e11 +manylinux_2_24 = quay.io/pypa/manylinux_2_24_x86_64:2021-07-14-67a6e11 [pypy_i686] -manylinux2010 = quay.io/pypa/manylinux2010_i686:2021-07-04-1e3ce39 -manylinux2014 = quay.io/pypa/manylinux2014_i686:2021-07-04-1e3ce39 -manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2021-07-04-1e3ce39 +manylinux2010 = quay.io/pypa/manylinux2010_i686:2021-07-14-67a6e11 +manylinux2014 = quay.io/pypa/manylinux2014_i686:2021-07-14-67a6e11 +manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2021-07-14-67a6e11 [aarch64] -manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2021-07-04-1e3ce39 -manylinux_2_24 = quay.io/pypa/manylinux_2_24_aarch64:2021-07-04-1e3ce39 +manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2021-07-14-67a6e11 +manylinux_2_24 = quay.io/pypa/manylinux_2_24_aarch64:2021-07-14-67a6e11 [ppc64le] -manylinux2014 = quay.io/pypa/manylinux2014_ppc64le:2021-07-04-1e3ce39 -manylinux_2_24 = quay.io/pypa/manylinux_2_24_ppc64le:2021-07-04-1e3ce39 +manylinux2014 = quay.io/pypa/manylinux2014_ppc64le:2021-07-14-67a6e11 +manylinux_2_24 = quay.io/pypa/manylinux_2_24_ppc64le:2021-07-14-67a6e11 [s390x] -manylinux2014 = quay.io/pypa/manylinux2014_s390x:2021-07-04-1e3ce39 -manylinux_2_24 = quay.io/pypa/manylinux_2_24_s390x:2021-07-04-1e3ce39 +manylinux2014 = quay.io/pypa/manylinux2014_s390x:2021-07-14-67a6e11 +manylinux_2_24 = quay.io/pypa/manylinux_2_24_s390x:2021-07-14-67a6e11 [pypy_aarch64] -manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2021-07-04-1e3ce39 -manylinux_2_24 = quay.io/pypa/manylinux_2_24_aarch64:2021-07-04-1e3ce39 +manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2021-07-14-67a6e11 +manylinux_2_24 = quay.io/pypa/manylinux_2_24_aarch64:2021-07-14-67a6e11 From 25c27ad283bfa833d3447e4897064ff8b2c8540c Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Wed, 14 Jul 2021 13:45:04 -0400 Subject: [PATCH 22/53] style: check spelling in pre-commit (#758) --- .pre-commit-config.yaml | 8 +++++++- cibuildwheel/util.py | 4 ++-- docs/contributing.md | 2 +- docs/extra.css | 2 +- docs/faq.md | 2 +- docs/options.md | 8 ++++---- unit_test/environment_test.py | 6 ++++-- 7 files changed, 20 insertions(+), 12 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index a38bbf47..c17b2bc0 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -77,6 +77,12 @@ repos: - id: disallow-caps name: Disallow improper capitalization language: pygrep - entry: PyBind|Numpy|Cmake|Github + entry: PyBind|Numpy|Cmake|Github|PyTest types: - markdown + +- repo: https://github.com/codespell-project/codespell + rev: v2.1.0 + hooks: + - id: codespell + args: ["-L", "sur"] diff --git a/cibuildwheel/util.py b/cibuildwheel/util.py index 3fb47ef3..079cc53d 100644 --- a/cibuildwheel/util.py +++ b/cibuildwheel/util.py @@ -144,8 +144,8 @@ class Unbuffered: self.stream.write(data) self.stream.flush() - def writelines(self, datas): # type: ignore - self.stream.writelines(datas) + def writelines(self, data): # type: ignore + self.stream.writelines(data) self.stream.flush() def __getattr__(self, attr): # type: ignore diff --git a/docs/contributing.md b/docs/contributing.md index 3cd7e729..526c46ee 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -20,7 +20,7 @@ Design Goals Other notes: -- The platforms are very similar, until they're not. I'd rather have straight-forward code than totally DRY code, so let's keep airy platfrom abstractions to a minimum. +- The platforms are very similar, until they're not. I'd rather have straight-forward code than totally DRY code, so let's keep airy platform abstractions to a minimum. - I might want to break the options into a shared config file one day, so that config is more easily shared. That has motivated some of the design decisions. ### cibuildwheel's relationship with build errors diff --git a/docs/extra.css b/docs/extra.css index 4ed1e23d..89eb024d 100644 --- a/docs/extra.css +++ b/docs/extra.css @@ -148,7 +148,7 @@ h1, h2, h3, h4, h5, h6 { } .tabs-header button:focus-visible { - /* preserve an outline for accesibility purposes */ + /* preserve an outline for accessibility purposes */ outline: 1px solid currentColor; outline-offset: -1px; } diff --git a/docs/faq.md b/docs/faq.md index 8dc36107..bbac332d 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -16,7 +16,7 @@ If your wheel didn't compile, check the list below for some debugging tips. ### Building Python 2.7 / PyPy2 wheels -See the [cibuildwheel verison 1 docs](https://cibuildwheel.readthedocs.io/en/1.x/) for information about building Python 2.7 or PyPy2 wheels. There are lots of tricks and workaround there that are no longer required for Python 3 in cibuildwheel 2. +See the [cibuildwheel version 1 docs](https://cibuildwheel.readthedocs.io/en/1.x/) for information about building Python 2.7 or PyPy2 wheels. There are lots of tricks and workaround there that are no longer required for Python 3 in cibuildwheel 2. ### Linux builds on Docker diff --git a/docs/options.md b/docs/options.md index 539db4cf..144b6e94 100644 --- a/docs/options.md +++ b/docs/options.md @@ -240,7 +240,7 @@ See the [cibuildwheel 1 documentation](https://cibuildwheel.readthedocs.io/en/1. skip = "pp*" ``` - It is generally recommened to set `CIBW_BUILD` as an environment variable, though `skip` + It is generally recommended to set `CIBW_BUILD` as an environment variable, though `skip` tends to be useful in a config file; you can statically declare that you don't support pypy, for example. @@ -337,7 +337,7 @@ This option can also be set using the [command-line option](#command-line) `--ar archs = ["auto", "aarch64"] ``` - It is generally recommmended to use the environment variable or + It is generally recommended to use the environment variable or command-line option for Linux, as selecting archs often depends on your specific runner having qemu installed. @@ -841,7 +841,7 @@ Auditwheel detects the version of the manylinux standard in the Docker image thr ``` Like any other option, these can be placed in `[tool.cibuildwheel.linux]` - if you perfer; they have no effect on `macos` and `windows`. + if you prefer; they have no effect on `macos` and `windows`. ### `CIBW_DEPENDENCY_VERSIONS` {: #dependency-versions} > Specify how cibuildwheel controls the versions of the tools it uses @@ -1080,7 +1080,7 @@ Platform-specific environment variables are also available:
CIBW_TEST_EXTRAS: "test,qt" ``` - Seperate multiple items with a comma. + Separate multiple items with a comma. !!! tab examples "pyproject.toml" diff --git a/unit_test/environment_test.py b/unit_test/environment_test.py index c1ffef09..c5162aea 100644 --- a/unit_test/environment_test.py +++ b/unit_test/environment_test.py @@ -106,10 +106,12 @@ def test_substitution_with_backslash(): def test_awkwardly_quoted_variable(): environment_recipe = parse_environment( - 'VAR2=something"like this""$VAR1"$VAR1$(echo "theres more")"$(echo "and more!")"' + 'VAR2=something"like this""$VAR1"$VAR1$(echo "there is more")"$(echo "and more!")"' ) # pass the existing process env so PATH is available environment_dict = environment_recipe.as_dictionary({"VAR1": "but wait"}) - assert environment_dict.get("VAR2") == "somethinglike thisbut waitbut waittheres moreand more!" + assert ( + environment_dict.get("VAR2") == "somethinglike thisbut waitbut waitthere is moreand more!" + ) From d31df17f3a7232f6bb33fc46c7e17008d7ae0b8e Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Thu, 15 Jul 2021 22:30:35 -0400 Subject: [PATCH 23/53] docs: add multiline examples --- docs/options.md | 37 ++++++++++++++++++++++++++++++++----- 1 file changed, 32 insertions(+), 5 deletions(-) diff --git a/docs/options.md b/docs/options.md index 144b6e94..f3624660 100644 --- a/docs/options.md +++ b/docs/options.md @@ -738,6 +738,11 @@ Platform-specific environment variables are also available:
# Pass the `--lib-sdir .` flag to auditwheel on Linux CIBW_REPAIR_WHEEL_COMMAND_LINUX: "auditwheel repair --lib-sdir . -w {dest_dir} {wheel}" + + # Multi-line example - use && to join on all platforms + CIBW_REPAIR_WHEEL_COMMAND: > + python scripts/repair_wheel.py -w {dest_dir} {wheel} && + python scripts/check_repaired_wheel.py -w {dest_dir} {wheel} ``` !!! tab examples "pyproject.toml" @@ -745,16 +750,23 @@ Platform-specific environment variables are also available:
```toml # Use delvewheel on windows [tool.cibuildwheel.windows] - before_build = "pip install delvewheel" - repair_wheel_command = "delvewheel repair -w {dest_dir} {wheel}" + before-build = "pip install delvewheel" + repair-wheel-command = "delvewheel repair -w {dest_dir} {wheel}" # Don't repair macOS wheels [tool.cibuildwheel.macos] - repair_wheel_command = "" + repair-wheel-command = "" # Pass the `--lib-sdir .` flag to auditwheel on Linux [tool.cibuildwheel.linux] - repair_wheel_command = "auditwheel repair --lib-sdir . -w {dest_dir} {wheel}" + repair-wheel-command = "auditwheel repair --lib-sdir . -w {dest_dir} {wheel}" + + # Multi-line example + [tool.cibuildwheel] + repair-wheel-command = [ + 'python scripts/repair_wheel.py -w {dest_dir} {wheel}', + 'python scripts/check_repaired_wheel.py -w {dest_dir} {wheel}', + ] ``` In configuration mode, you can use an inline array, and the items will be joined with `&&`. @@ -943,6 +955,11 @@ Platform-specific environment variables are also available:
# Trigger an install of the package, but run nothing of note CIBW_TEST_COMMAND: "echo Wheel installed" + + # Multi-line example - join with && on all platforms + CIBW_TEST_COMMAND: > + pytest {package}/tests && + python {package}/test.py ``` !!! tab examples "pyproject.toml" @@ -957,6 +974,12 @@ Platform-specific environment variables are also available:
# Trigger an install of the package, but run nothing of note test-command = "echo Wheel installed" + + # Multiline example + test-command = [ + "pytest {package}/tests", + "python {package}/test.py", + ] ``` In configuration files, you can use an array, and the items will be joined with `&&`. @@ -987,7 +1010,11 @@ Platform-specific environment variables are also available:
CIBW_BEFORE_TEST: rm -rf ./data/cache && mkdir -p ./data/cache # Install non pip python package - CIBW_BEFORE_TEST: cd some_dir; ./configure; make; make install + CIBW_BEFORE_TEST: > + cd some_dir && + ./configure && + make && + make install # Install python packages that are required to install test dependencies CIBW_BEFORE_TEST: pip install cmake scikit-build From 64236303df427976454c551d0c7da0f27d2d88d8 Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Thu, 15 Jul 2021 22:38:58 -0400 Subject: [PATCH 24/53] docs: add cmake/ninja to projects --- docs/data/projects.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/docs/data/projects.yml b/docs/data/projects.yml index dc390ce8..e21af4b5 100644 --- a/docs/data/projects.yml +++ b/docs/data/projects.yml @@ -363,3 +363,16 @@ gh: LAMDA-NJU/Deep-Forest ci: [github] os: [apple, linux, windows] + +- name: cmake + gh: scikit-build/cmake-python-distributions + stars: Kitware/CMake + ci: [github, travisci] + os: [apple, linux, windows] + notes: Multitagged binary builds for all supported platforms, using cibw 2 config configuration. + +- name: ninja + gh: scikit-build/ninja-python-distributions + ci: [github, travisci] + os: [apple, linux, windows] + notes: Multitagged binary builds for all supported platforms, using cibw 2 config configuration. From bed7c6980c1a62e7763b67d231dfc111dd6f9384 Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Thu, 15 Jul 2021 22:44:39 -0400 Subject: [PATCH 25/53] chore: improvements to the noxfile --- .pre-commit-config.yaml | 2 +- noxfile.py | 26 ++++++++++++++++---------- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index c17b2bc0..1746b706 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -54,7 +54,7 @@ repos: - types-toml - id: mypy name: mypy 3.7+ on bin/ - files: ^(bin|docs)/.*py$ + files: ^((bin|docs)/.*py|noxfile.py)$ args: ["--python-version=3.7", "--scripts-are-modules"] additional_dependencies: - packaging>=21.0 diff --git a/noxfile.py b/noxfile.py index 1ed4959a..211cceb7 100644 --- a/noxfile.py +++ b/noxfile.py @@ -12,7 +12,7 @@ DIR = Path(__file__).parent.resolve() @nox.session -def tests(session): +def tests(session: nox.Session) -> None: """ Run the unit and regular tests. """ @@ -26,16 +26,16 @@ def tests(session): @nox.session -def lint(session): +def lint(session: nox.Session) -> None: """ Run the linter. """ session.install("pre-commit") - session.run("pre-commit", "run", "--all-files") + session.run("pre-commit", "run", "--all-files", *session.posargs) @nox.session(python=PYTHON_ALL_VERSIONS) -def update_constraints(session): +def update_constraints(session: nox.Session) -> None: """ Update the dependencies inplace. """ @@ -44,7 +44,7 @@ def update_constraints(session): @nox.session -def update_pins(session): +def update_pins(session: nox.Session) -> None: """ Update the python and docker pins version inplace. """ @@ -54,16 +54,22 @@ def update_pins(session): @nox.session -def update_proj(session): +def update_proj(session: nox.Session) -> None: """ Update the README inplace. """ session.install("-e", ".[bin]") - session.run("python", "bin/projects.py", "docs/data/projects.yml", "--readme=README.md") + session.run( + "python", + "bin/projects.py", + "docs/data/projects.yml", + "--readme=README.md", + *session.posargs, + ) @nox.session -def docs(session): +def docs(session: nox.Session) -> None: """ Build the docs. """ @@ -73,13 +79,13 @@ def docs(session): if "serve" in session.posargs: session.run("mkdocs", "serve") else: - print("Unrecognized args, use 'serve'") + session.error("Unrecognized args, use 'serve'") else: session.run("mkdocs", "build") @nox.session -def build(session): +def build(session: nox.Session) -> None: """ Build an SDist and wheel. """ From 7a830777ded52883464eb417d68decc6d791233c Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Thu, 15 Jul 2021 22:51:45 -0400 Subject: [PATCH 26/53] chore: update_proj --- README.md | 112 ++++++++++++++++++++++++++++-------------------------- 1 file changed, 59 insertions(+), 53 deletions(-) diff --git a/README.md b/README.md index b26b38da..3c9611c6 100644 --- a/README.md +++ b/README.md @@ -145,6 +145,7 @@ Here are some repos that use cibuildwheel. | [psutil][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Cross-platform lib for process and system monitoring in Python | | [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. | | [twisted-iocpsupport][] | ![github icon][] | ![windows icon][] | A submodule of Twisted that hooks into native C APIs using Cython. | +| [cmake][] | ![github icon][] ![travisci icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Multitagged binary builds for all supported platforms, using cibw 2 config configuration. | | [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. | | [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. | @@ -190,6 +191,7 @@ Here are some repos that use cibuildwheel. | [pyjet][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | The interface between FastJet and NumPy | | [numpythia][] | ![github icon][] | ![apple icon][] ![linux icon][] | The interface between PYTHIA and NumPy | | [polaroid][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Full range of wheels for setuptools rust, with auto release and PyPI deploy. | +| [ninja][] | ![github icon][] ![travisci icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Multitagged binary builds for all supported platforms, using cibw 2 config configuration. | | [GSD][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Cython and NumPy project with 64-bit wheels. | | [pybind11 scikit_build_example][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | An example combining scikit-build and pybind11 | | [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. | @@ -204,6 +206,7 @@ Here are some repos that use cibuildwheel. [psutil]: https://github.com/giampaolo/psutil [scikit-image]: https://github.com/scikit-image/scikit-image [twisted-iocpsupport]: https://github.com/twisted/twisted-iocpsupport +[cmake]: https://github.com/scikit-build/cmake-python-distributions [websockets]: https://github.com/aaugustin/websockets [pyzmq]: https://github.com/zeromq/pyzmq [aiortc]: https://github.com/aiortc/aiortc @@ -249,6 +252,7 @@ Here are some repos that use cibuildwheel. [pyjet]: https://github.com/scikit-hep/pyjet [numpythia]: https://github.com/scikit-hep/numpythia [polaroid]: https://github.com/daggy1234/polaroid +[ninja]: https://github.com/scikit-build/ninja-python-distributions [GSD]: https://github.com/glotzerlab/gsd [pybind11 scikit_build_example]: https://github.com/pybind/scikit_build_example [Imagecodecs (fork)]: https://github.com/czaki/imagecodecs_build @@ -267,64 +271,66 @@ Here are some repos that use cibuildwheel. [apple icon]: docs/data/readme_icons/apple.svg [linux icon]: docs/data/readme_icons/linux.svg - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + + From d8c7cb2ceaf1ccef4a4beed7e364ffbb90e8ea0b Mon Sep 17 00:00:00 2001 From: Joe Rickerby Date: Fri, 16 Jul 2021 12:05:12 +0100 Subject: [PATCH 27/53] Bump version: v2.0.0 --- README.md | 33 +++++++------------------- cibuildwheel/__init__.py | 2 +- 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 +- 16 files changed, 29 insertions(+), 46 deletions(-) diff --git a/README.md b/README.md index 3c9611c6..fac0a9f4 100644 --- a/README.md +++ b/README.md @@ -85,7 +85,7 @@ jobs: - uses: actions/setup-python@v2 - name: Install cibuildwheel - run: python -m pip install cibuildwheel==2.0.0b2 + run: python -m pip install cibuildwheel==2.0.0 - name: Build wheels run: python -m cibuildwheel --output-dir wheelhouse @@ -354,33 +354,16 @@ Changelog -### v2.0.0 (prerelease) +### v2.0.0 πŸŽ‰ -_This release is currently in prerelease. The below release notes will be condensed into a single entry when we do a final release._ - -_v2.0.0b2 (9 July 2021)_ - -- πŸ› Bug fix to the GitHub action (#753) - -_v2.0.0b1 (9 July 2021)_ - -- πŸ› Bug fixes & docs improvements - -_v2.0.0a4 (25 June 2021)_ - -- 🌟 Added support for building wheels with [build](https://github.com/pypa/build), as well as pip. This feature is controlled with the [`CIBW_BUILD_FRONTEND`](https://cibuildwheel.readthedocs.io/en/latest/options/#build-frontend) option. - -_v2.0.0a3 (22 June 2021)_ - -- 🌟 You can now configure cibuildwheel options inside your project's `pyproject.toml`! Environment variables still work of course. Check out the [documentation](https://cibuildwheel.readthedocs.io/en/latest/options/#setting-options) for more info. - -_v2.0.0a2 (1 June 2021)_ - -- 🌟 Added the ability to test building wheels on CPython 3.10! Because CPython 3.10 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/latest/options/#prerelease-pythons) to test. (#675) +- 🌟 You can now configure cibuildwheel options inside your project's `pyproject.toml`! Environment variables still work of course. Check out the [documentation](https://cibuildwheel.readthedocs.io/en/stable/options/#setting-options) for more info. +- 🌟 Added support for building wheels with [build](https://github.com/pypa/build), as well as pip. This feature is controlled with the [`CIBW_BUILD_FRONTEND`](https://cibuildwheel.readthedocs.io/en/stable/options/#build-frontend) option. +- 🌟 Added the ability to test building wheels on CPython 3.10! Because CPython 3.10 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. (#675) This version of cibuildwheel includes CPython 3.10.0b4. +- ⚠️ **Removed support for building Python 2.7 and Python 3.5 wheels**, for both CPython and PyPy. If you still need to build on these versions, please use the latest v1.x version. (#596) - ✨ Added the ability to build CPython 3.8 wheels for Apple Silicon. (#704) -- πŸ›  Update to the latest build dependencies, including auditwheel 4. (#633) +- πŸ›  Update to the latest build dependencies, including Auditwheel 4. (#633) - πŸ›  Use the unified pypa/manylinux images to build PyPy (#671) -- ⚠️ Removed support for building Python 2.7 and Python 3.5 wheels, for both CPython and PyPy. If you still need to build on these versions, please use the latest v1.x version. (#596) +- πŸ› Numerous bug fixes & docs improvements ### v1.12.0 diff --git a/cibuildwheel/__init__.py b/cibuildwheel/__init__.py index cb3c238a..8c0d5d5b 100644 --- a/cibuildwheel/__init__.py +++ b/cibuildwheel/__init__.py @@ -1 +1 @@ -__version__ = "2.0.0b2" +__version__ = "2.0.0" diff --git a/docs/faq.md b/docs/faq.md index bbac332d..c430de36 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -210,7 +210,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.0.0b2 +uses: pypa/cibuildwheel@v2.0.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. @@ -236,7 +236,7 @@ The second option, and the only one that supports other CI systems, is using a ` ```bash # requirements-cibw.txt -cibuildwheel==2.0.0b2 +cibuildwheel==2.0.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 5482a535..a1f78cc2 100644 --- a/docs/setup.md +++ b/docs/setup.md @@ -46,7 +46,7 @@ To build Linux, Mac, and Windows wheels using GitHub Actions, create a `.github/ - uses: actions/checkout@v2 - name: Build wheels - run: pipx run cibuildwheel==2.0.0b2 + run: pipx run cibuildwheel==2.0.0 - uses: actions/upload-artifact@v2 with: @@ -81,7 +81,7 @@ To build Linux, Mac, and Windows wheels using GitHub Actions, create a `.github/ - uses: actions/setup-python@v2 - name: Install cibuildwheel - run: python -m pip install cibuildwheel==2.0.0b2 + run: python -m pip install cibuildwheel==2.0.0 - name: Build wheels run: python -m cibuildwheel --output-dir wheelhouse diff --git a/examples/appveyor-minimal.yml b/examples/appveyor-minimal.yml index f13ae6b6..07563d04 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.0.0b2 +install: python -m pip install cibuildwheel==2.0.0 build_script: python -m cibuildwheel --output-dir wheelhouse diff --git a/examples/azure-pipelines-minimal.yml b/examples/azure-pipelines-minimal.yml index bcc21d5c..1fd9014d 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.0.0b2 + pip3 install cibuildwheel==2.0.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.0.0b2 + python3 -m pip install cibuildwheel==2.0.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.0.0b2 + pip install cibuildwheel==2.0.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 401f822a..dbc69407 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.0.0b2 + pip3 install --user cibuildwheel==2.0.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.0.0b2 + pip3 install cibuildwheel==2.0.0 cibuildwheel --output-dir wheelhouse - store_artifacts: path: wheelhouse/ diff --git a/examples/github-apple-silicon.yml b/examples/github-apple-silicon.yml index 94aedb43..8d836da8 100644 --- a/examples/github-apple-silicon.yml +++ b/examples/github-apple-silicon.yml @@ -10,7 +10,7 @@ jobs: - uses: actions/checkout@v2 - name: Build wheels - uses: pypa/cibuildwheel@v2.0.0b2 + uses: pypa/cibuildwheel@v2.0.0 env: CIBW_ARCHS_MACOS: x86_64 universal2 diff --git a/examples/github-deploy.yml b/examples/github-deploy.yml index c25bfd9e..7cc4d320 100644 --- a/examples/github-deploy.yml +++ b/examples/github-deploy.yml @@ -27,7 +27,7 @@ jobs: python-version: '3.8' - name: Build wheels - uses: pypa/cibuildwheel@v2.0.0b2 + uses: pypa/cibuildwheel@v2.0.0 - uses: actions/upload-artifact@v2 with: diff --git a/examples/github-minimal.yml b/examples/github-minimal.yml index 100c2ea4..b2df58ae 100644 --- a/examples/github-minimal.yml +++ b/examples/github-minimal.yml @@ -14,7 +14,7 @@ jobs: - uses: actions/checkout@v2 - name: Build wheels - uses: pypa/cibuildwheel@v2.0.0b2 + uses: pypa/cibuildwheel@v2.0.0 # to supply options, put them in 'env', like: # env: # CIBW_SOME_OPTION: value diff --git a/examples/github-with-qemu.yml b/examples/github-with-qemu.yml index 436e6891..a905a9ea 100644 --- a/examples/github-with-qemu.yml +++ b/examples/github-with-qemu.yml @@ -25,7 +25,7 @@ jobs: platforms: all - name: Build wheels - uses: pypa/cibuildwheel@v2.0.0b2 + uses: pypa/cibuildwheel@v2.0.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 de59258b..4218a7ba 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.0.0b2 + - python -m pip install cibuildwheel==2.0.0 - cibuildwheel --output-dir wheelhouse artifacts: paths: diff --git a/examples/travis-ci-deploy.yml b/examples/travis-ci-deploy.yml index d1f66434..bf63b76f 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.0.0b2 + - python3 -m pip install cibuildwheel==2.0.0 script: # build the wheels, put them into './wheelhouse' diff --git a/examples/travis-ci-minimal.yml b/examples/travis-ci-minimal.yml index 9e7e9ba1..c9906309 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.0.0b2 + - python3 -m pip install cibuildwheel==2.0.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 9dbb9cd3..35f64449 100644 --- a/examples/travis-ci-test-and-deploy.yml +++ b/examples/travis-ci-test-and-deploy.yml @@ -57,7 +57,7 @@ jobs: - stage: deploy name: Build and deploy Linux wheels services: docker - install: python3 -m pip install cibuildwheel==2.0.0b2 + install: python3 -m pip install cibuildwheel==2.0.0 script: python3 -m cibuildwheel --output-dir wheelhouse after_success: | python3 -m pip install twine @@ -67,7 +67,7 @@ jobs: name: Build and deploy Windows wheels os: windows language: shell - install: python3 -m pip install cibuildwheel==2.0.0b2 + install: python3 -m pip install cibuildwheel==2.0.0 script: python3 -m cibuildwheel --output-dir wheelhouse after_success: | python3 -m pip install twine diff --git a/setup.cfg b/setup.cfg index 2287dc5d..9023fbab 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = cibuildwheel -version = 2.0.0b2 +version = 2.0.0 description = Build Python wheels on CI with minimal configuration. long_description = file: README.md long_description_content_type = text/markdown From 356f81ca60a1a10599182fe9c80f31d3153f809b Mon Sep 17 00:00:00 2001 From: Joe Rickerby Date: Sat, 17 Jul 2021 11:21:37 +0100 Subject: [PATCH 28/53] Add date to changelog entry --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index fac0a9f4..1a531bae 100644 --- a/README.md +++ b/README.md @@ -356,6 +356,8 @@ Changelog ### v2.0.0 πŸŽ‰ +_16 July 2021_ + - 🌟 You can now configure cibuildwheel options inside your project's `pyproject.toml`! Environment variables still work of course. Check out the [documentation](https://cibuildwheel.readthedocs.io/en/stable/options/#setting-options) for more info. - 🌟 Added support for building wheels with [build](https://github.com/pypa/build), as well as pip. This feature is controlled with the [`CIBW_BUILD_FRONTEND`](https://cibuildwheel.readthedocs.io/en/stable/options/#build-frontend) option. - 🌟 Added the ability to test building wheels on CPython 3.10! Because CPython 3.10 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. (#675) This version of cibuildwheel includes CPython 3.10.0b4. From 51b021e08a90d9d235cd5c14852c50b7bec6b9a8 Mon Sep 17 00:00:00 2001 From: Daniele Varrazzo Date: Sun, 18 Jul 2021 17:19:41 +0200 Subject: [PATCH 29/53] Add an example of PATH customisation on Windows On Windows you often find directories containing spaces. The relation between quotes and escaping is not intuitive, see #765. --- docs/options.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/options.md b/docs/options.md index f3624660..c4dc99a4 100644 --- a/docs/options.md +++ b/docs/options.md @@ -499,6 +499,10 @@ Platform-specific environment variables are also available:
# Append a directory to the PATH variable (this is expanded in the build environment) CIBW_ENVIRONMENT: "PATH=$PATH:/usr/local/bin" + # Prepend a directory containing spaces on Windows. + CIBW_ENVIRONMENT_WINDOWS: >- + PATH="C:\\Program Files\\PostgreSQL\\13\\bin;$PATH" + # Set BUILD_TIME to the output of the `date` command CIBW_ENVIRONMENT: "BUILD_TIME=$(date)" From b306ab4ac7f77d4d88f2407509b2a467ce451556 Mon Sep 17 00:00:00 2001 From: Daniele Varrazzo Date: Mon, 19 Jul 2021 14:00:11 +0200 Subject: [PATCH 30/53] Simplify yaml env vars examples Don't use yaml double quotes because they imply a round of escaping (unlike single quotes or multiline strings). --- docs/options.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/options.md b/docs/options.md index c4dc99a4..132eecc3 100644 --- a/docs/options.md +++ b/docs/options.md @@ -494,23 +494,23 @@ Platform-specific environment variables are also available:
```yaml # Set some compiler flags - CIBW_ENVIRONMENT: "CFLAGS='-g -Wall' CXXFLAGS='-Wall'" + CIBW_ENVIRONMENT: CFLAGS='-g -Wall' CXXFLAGS='-Wall' # Append a directory to the PATH variable (this is expanded in the build environment) - CIBW_ENVIRONMENT: "PATH=$PATH:/usr/local/bin" + CIBW_ENVIRONMENT: PATH=$PATH:/usr/local/bin # Prepend a directory containing spaces on Windows. CIBW_ENVIRONMENT_WINDOWS: >- PATH="C:\\Program Files\\PostgreSQL\\13\\bin;$PATH" # Set BUILD_TIME to the output of the `date` command - CIBW_ENVIRONMENT: "BUILD_TIME=$(date)" + CIBW_ENVIRONMENT: BUILD_TIME=$(date) # Supply options to `pip` to affect how it downloads dependencies - CIBW_ENVIRONMENT: "PIP_EXTRA_INDEX_URL=https://pypi.myorg.com/simple" + CIBW_ENVIRONMENT: PIP_EXTRA_INDEX_URL=https://pypi.myorg.com/simple # Set two flags on linux only - CIBW_ENVIRONMENT_LINUX: "BUILD_TIME=$(date) SAMPLE_TEXT=\"sample text\"" + CIBW_ENVIRONMENT_LINUX: BUILD_TIME=$(date) SAMPLE_TEXT="sample text" ``` Separate multiple values with a space. From 3e712f1a6cf6c948f92f1c42fd4f0cca1025278c Mon Sep 17 00:00:00 2001 From: Daniele Varrazzo Date: Mon, 19 Jul 2021 15:24:39 +0200 Subject: [PATCH 31/53] No need to strip trailing eol in multiline environment example --- docs/options.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/options.md b/docs/options.md index 132eecc3..239a50b8 100644 --- a/docs/options.md +++ b/docs/options.md @@ -500,7 +500,7 @@ Platform-specific environment variables are also available:
CIBW_ENVIRONMENT: PATH=$PATH:/usr/local/bin # Prepend a directory containing spaces on Windows. - CIBW_ENVIRONMENT_WINDOWS: >- + CIBW_ENVIRONMENT_WINDOWS: > PATH="C:\\Program Files\\PostgreSQL\\13\\bin;$PATH" # Set BUILD_TIME to the output of the `date` command From 976173f6e1c6bcfc1e41f05fcceeb9ad23c5de75 Mon Sep 17 00:00:00 2001 From: Daniele Varrazzo Date: Mon, 19 Jul 2021 17:13:40 +0200 Subject: [PATCH 32/53] Add example of Windows PATH manipulation in pyproject.toml too --- docs/options.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/options.md b/docs/options.md index 239a50b8..1d627c74 100644 --- a/docs/options.md +++ b/docs/options.md @@ -528,6 +528,10 @@ Platform-specific environment variables are also available:
# Append a directory to the PATH variable (this is expanded in the build environment) environment = { PATH="$PATH:/usr/local/bin" } + # Prepend a directory containing spaces on Windows. + [tool.cibuildwheel.windows] + environment = { PATH='C:\\Program Files\\PostgreSQL\\13\\bin;$PATH' } + # Set BUILD_TIME to the output of the `date` command environment = { BUILD_TIME="$(date)" } From 413c9f30dd52f8a2c4a27492dd676b113705e1f5 Mon Sep 17 00:00:00 2001 From: Daniele Varrazzo Date: Mon, 19 Jul 2021 17:14:04 +0200 Subject: [PATCH 33/53] Quote the $(date) in the yaml example for consistency with pyproject.toml --- docs/options.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/options.md b/docs/options.md index 1d627c74..f57b9a63 100644 --- a/docs/options.md +++ b/docs/options.md @@ -504,13 +504,13 @@ Platform-specific environment variables are also available:
PATH="C:\\Program Files\\PostgreSQL\\13\\bin;$PATH" # Set BUILD_TIME to the output of the `date` command - CIBW_ENVIRONMENT: BUILD_TIME=$(date) + CIBW_ENVIRONMENT: BUILD_TIME="$(date)" # Supply options to `pip` to affect how it downloads dependencies CIBW_ENVIRONMENT: PIP_EXTRA_INDEX_URL=https://pypi.myorg.com/simple # Set two flags on linux only - CIBW_ENVIRONMENT_LINUX: BUILD_TIME=$(date) SAMPLE_TEXT="sample text" + CIBW_ENVIRONMENT_LINUX: BUILD_TIME="$(date)" SAMPLE_TEXT="sample text" ``` Separate multiple values with a space. From b452a5c42f44562993ad65dc89f60ff77531bec6 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 19 Jul 2021 21:15:24 +0000 Subject: [PATCH 34/53] [pre-commit.ci] pre-commit autoupdate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/asottile/pyupgrade: v2.21.0 β†’ v2.21.2](https://github.com/asottile/pyupgrade/compare/v2.21.0...v2.21.2) - [github.com/psf/black: 21.6b0 β†’ 21.7b0](https://github.com/psf/black/compare/21.6b0...21.7b0) --- .pre-commit-config.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 1746b706..ae447459 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.21.0 + rev: v2.21.2 hooks: - id: pyupgrade name: PyUpgrade 3.6+ @@ -31,7 +31,7 @@ repos: - id: isort - repo: https://github.com/psf/black - rev: 21.6b0 + rev: 21.7b0 hooks: - id: black From 388ce41451694478b9df887dce190e83266fef90 Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Mon, 19 Jul 2021 17:23:06 -0400 Subject: [PATCH 35/53] ci: fix authentication failure checking projects (#769) --- .github/workflows/update-dependencies.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/update-dependencies.yml b/.github/workflows/update-dependencies.yml index 4e7d55d8..1ee0ae71 100644 --- a/.github/workflows/update-dependencies.yml +++ b/.github/workflows/update-dependencies.yml @@ -18,7 +18,7 @@ jobs: - name: "Run update: python configs" run: nox --force-color -s update_pins - name: "Run update: docs user projects" - run: nox --force-color -s update_proj + run: nox --force-color -s update_proj -- --auth=${{ secrets.GITHUB_TOKEN }} # we use this step to grab a Github App auth token, so that PRs generated by this workflow # run the GHA tests. From de753937f4393d0b5df83e462db852d3cbc376ae Mon Sep 17 00:00:00 2001 From: "cibuildwheel-bot[bot]" <83877280+cibuildwheel-bot[bot]@users.noreply.github.com> Date: Sun, 25 Jul 2021 12:36:10 +0200 Subject: [PATCH 36/53] Update dependencies (#771) Co-authored-by: mayeut --- README.md | 120 +++++++++--------- .../resources/constraints-python36.txt | 16 ++- .../resources/constraints-python37.txt | 16 ++- .../resources/constraints-python38.txt | 14 +- .../resources/constraints-python39.txt | 14 +- cibuildwheel/resources/constraints.txt | 14 +- .../resources/pinned_docker_images.cfg | 44 +++---- 7 files changed, 129 insertions(+), 109 deletions(-) diff --git a/README.md b/README.md index 1a531bae..d9803141 100644 --- a/README.md +++ b/README.md @@ -182,8 +182,8 @@ Here are some repos that use cibuildwheel. | [Tokenizer][] | ![github icon][] ![travisci icon][] | ![apple icon][] ![linux icon][] | Fast and customizable text tokenization library with BPE and SentencePiece support | | [PyGLM][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Fast OpenGL Mathematics (GLM) for Python | | [bx-python][] | ![travisci icon][] | ![apple icon][] ![linux icon][] | A library that includes Cython extensions. | -| [boost-histogram][] | ![github icon][] ![travisci icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Supports full range of wheels, including PyPy and alternate archs. | | [iDynTree][] | ![github icon][] | ![linux icon][] | Uses manylinux_2_24 | +| [boost-histogram][] | ![github icon][] ![travisci icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Supports full range of wheels, including PyPy and alternate archs. | | [pybase64][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Fast Base64 encoding/decoding in Python | | [TgCrypto][] | ![travisci icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Includes a Windows Travis build. | | [etebase-py][] | ![travisci icon][] | ![linux icon][] | Python bindings to a Rust library using `setuptools-rust`, and `sccache` for improved speed. | @@ -243,8 +243,8 @@ Here are some repos that use cibuildwheel. [Tokenizer]: https://github.com/OpenNMT/Tokenizer [PyGLM]: https://github.com/Zuzu-Typ/PyGLM [bx-python]: https://github.com/bxlab/bx-python -[boost-histogram]: https://github.com/scikit-hep/boost-histogram [iDynTree]: https://github.com/robotology/idyntree +[boost-histogram]: https://github.com/scikit-hep/boost-histogram [pybase64]: https://github.com/mayeut/pybase64 [TgCrypto]: https://github.com/pyrogram/tgcrypto [etebase-py]: https://github.com/etesync/etebase-py @@ -271,66 +271,66 @@ Here are some repos that use cibuildwheel. [apple icon]: docs/data/readme_icons/apple.svg [linux icon]: docs/data/readme_icons/linux.svg - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + diff --git a/cibuildwheel/resources/constraints-python36.txt b/cibuildwheel/resources/constraints-python36.txt index 41445684..1cfec449 100644 --- a/cibuildwheel/resources/constraints-python36.txt +++ b/cibuildwheel/resources/constraints-python36.txt @@ -6,7 +6,7 @@ # backports.entry-points-selectable==1.1.0 # via virtualenv -delocate==0.8.2 +delocate==0.9.0 # via -r cibuildwheel/resources/constraints.in distlib==0.3.2 # via virtualenv @@ -21,10 +21,14 @@ importlib-resources==5.2.0 platformdirs==2.0.2 # via virtualenv six==1.16.0 - # via virtualenv + # via + # delocate + # virtualenv typing-extensions==3.10.0.0 - # via importlib-metadata -virtualenv==20.5.0 + # via + # delocate + # importlib-metadata +virtualenv==20.6.0 # via -r cibuildwheel/resources/constraints.in wheel==0.36.2 # via @@ -36,7 +40,7 @@ zipp==3.5.0 # importlib-resources # The following packages are considered to be unsafe in a requirements file: -pip==21.1.3 +pip==21.2.1 # via -r cibuildwheel/resources/constraints.in -setuptools==57.1.0 +setuptools==57.4.0 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/constraints-python37.txt b/cibuildwheel/resources/constraints-python37.txt index 747681a8..25e7194a 100644 --- a/cibuildwheel/resources/constraints-python37.txt +++ b/cibuildwheel/resources/constraints-python37.txt @@ -6,7 +6,7 @@ # backports.entry-points-selectable==1.1.0 # via virtualenv -delocate==0.8.2 +delocate==0.9.0 # via -r cibuildwheel/resources/constraints.in distlib==0.3.2 # via virtualenv @@ -19,10 +19,14 @@ importlib-metadata==4.6.1 platformdirs==2.0.2 # via virtualenv six==1.16.0 - # via virtualenv + # via + # delocate + # virtualenv typing-extensions==3.10.0.0 - # via importlib-metadata -virtualenv==20.5.0 + # via + # delocate + # importlib-metadata +virtualenv==20.6.0 # via -r cibuildwheel/resources/constraints.in wheel==0.36.2 # via @@ -32,7 +36,7 @@ zipp==3.5.0 # via importlib-metadata # The following packages are considered to be unsafe in a requirements file: -pip==21.1.3 +pip==21.2.1 # via -r cibuildwheel/resources/constraints.in -setuptools==57.1.0 +setuptools==57.4.0 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/constraints-python38.txt b/cibuildwheel/resources/constraints-python38.txt index 12183c67..4ad2783c 100644 --- a/cibuildwheel/resources/constraints-python38.txt +++ b/cibuildwheel/resources/constraints-python38.txt @@ -6,7 +6,7 @@ # backports.entry-points-selectable==1.1.0 # via virtualenv -delocate==0.8.2 +delocate==0.9.0 # via -r cibuildwheel/resources/constraints.in distlib==0.3.2 # via virtualenv @@ -15,8 +15,12 @@ filelock==3.0.12 platformdirs==2.0.2 # via virtualenv six==1.16.0 - # via virtualenv -virtualenv==20.5.0 + # via + # delocate + # virtualenv +typing-extensions==3.10.0.0 + # via delocate +virtualenv==20.6.0 # via -r cibuildwheel/resources/constraints.in wheel==0.36.2 # via @@ -24,7 +28,7 @@ wheel==0.36.2 # delocate # The following packages are considered to be unsafe in a requirements file: -pip==21.1.3 +pip==21.2.1 # via -r cibuildwheel/resources/constraints.in -setuptools==57.1.0 +setuptools==57.4.0 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/constraints-python39.txt b/cibuildwheel/resources/constraints-python39.txt index cf4e9dc4..340d8b9a 100644 --- a/cibuildwheel/resources/constraints-python39.txt +++ b/cibuildwheel/resources/constraints-python39.txt @@ -6,7 +6,7 @@ # backports.entry-points-selectable==1.1.0 # via virtualenv -delocate==0.8.2 +delocate==0.9.0 # via -r cibuildwheel/resources/constraints.in distlib==0.3.2 # via virtualenv @@ -15,8 +15,12 @@ filelock==3.0.12 platformdirs==2.0.2 # via virtualenv six==1.16.0 - # via virtualenv -virtualenv==20.5.0 + # via + # delocate + # virtualenv +typing-extensions==3.10.0.0 + # via delocate +virtualenv==20.6.0 # via -r cibuildwheel/resources/constraints.in wheel==0.36.2 # via @@ -24,7 +28,7 @@ wheel==0.36.2 # delocate # The following packages are considered to be unsafe in a requirements file: -pip==21.1.3 +pip==21.2.1 # via -r cibuildwheel/resources/constraints.in -setuptools==57.1.0 +setuptools==57.4.0 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/constraints.txt b/cibuildwheel/resources/constraints.txt index cf4e9dc4..340d8b9a 100644 --- a/cibuildwheel/resources/constraints.txt +++ b/cibuildwheel/resources/constraints.txt @@ -6,7 +6,7 @@ # backports.entry-points-selectable==1.1.0 # via virtualenv -delocate==0.8.2 +delocate==0.9.0 # via -r cibuildwheel/resources/constraints.in distlib==0.3.2 # via virtualenv @@ -15,8 +15,12 @@ filelock==3.0.12 platformdirs==2.0.2 # via virtualenv six==1.16.0 - # via virtualenv -virtualenv==20.5.0 + # via + # delocate + # virtualenv +typing-extensions==3.10.0.0 + # via delocate +virtualenv==20.6.0 # via -r cibuildwheel/resources/constraints.in wheel==0.36.2 # via @@ -24,7 +28,7 @@ wheel==0.36.2 # delocate # The following packages are considered to be unsafe in a requirements file: -pip==21.1.3 +pip==21.2.1 # via -r cibuildwheel/resources/constraints.in -setuptools==57.1.0 +setuptools==57.4.0 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/pinned_docker_images.cfg b/cibuildwheel/resources/pinned_docker_images.cfg index d79efbc6..80e16bf0 100644 --- a/cibuildwheel/resources/pinned_docker_images.cfg +++ b/cibuildwheel/resources/pinned_docker_images.cfg @@ -1,38 +1,38 @@ [x86_64] -manylinux1 = quay.io/pypa/manylinux1_x86_64:2021-07-14-0700e04 -manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2021-07-14-67a6e11 -manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2021-07-14-67a6e11 -manylinux_2_24 = quay.io/pypa/manylinux_2_24_x86_64:2021-07-14-67a6e11 +manylinux1 = quay.io/pypa/manylinux1_x86_64:2021-07-25-0f995ee +manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2021-07-25-cfe8a6c +manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2021-07-25-cfe8a6c +manylinux_2_24 = quay.io/pypa/manylinux_2_24_x86_64:2021-07-25-cfe8a6c [i686] -manylinux1 = quay.io/pypa/manylinux1_i686:2021-07-14-0700e04 -manylinux2010 = quay.io/pypa/manylinux2010_i686:2021-07-14-67a6e11 -manylinux2014 = quay.io/pypa/manylinux2014_i686:2021-07-14-67a6e11 -manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2021-07-14-67a6e11 +manylinux1 = quay.io/pypa/manylinux1_i686:2021-07-25-0f995ee +manylinux2010 = quay.io/pypa/manylinux2010_i686:2021-07-25-cfe8a6c +manylinux2014 = quay.io/pypa/manylinux2014_i686:2021-07-25-cfe8a6c +manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2021-07-25-cfe8a6c [pypy_x86_64] -manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2021-07-14-67a6e11 -manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2021-07-14-67a6e11 -manylinux_2_24 = quay.io/pypa/manylinux_2_24_x86_64:2021-07-14-67a6e11 +manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2021-07-25-cfe8a6c +manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2021-07-25-cfe8a6c +manylinux_2_24 = quay.io/pypa/manylinux_2_24_x86_64:2021-07-25-cfe8a6c [pypy_i686] -manylinux2010 = quay.io/pypa/manylinux2010_i686:2021-07-14-67a6e11 -manylinux2014 = quay.io/pypa/manylinux2014_i686:2021-07-14-67a6e11 -manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2021-07-14-67a6e11 +manylinux2010 = quay.io/pypa/manylinux2010_i686:2021-07-25-cfe8a6c +manylinux2014 = quay.io/pypa/manylinux2014_i686:2021-07-25-cfe8a6c +manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2021-07-25-cfe8a6c [aarch64] -manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2021-07-14-67a6e11 -manylinux_2_24 = quay.io/pypa/manylinux_2_24_aarch64:2021-07-14-67a6e11 +manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2021-07-25-cfe8a6c +manylinux_2_24 = quay.io/pypa/manylinux_2_24_aarch64:2021-07-25-cfe8a6c [ppc64le] -manylinux2014 = quay.io/pypa/manylinux2014_ppc64le:2021-07-14-67a6e11 -manylinux_2_24 = quay.io/pypa/manylinux_2_24_ppc64le:2021-07-14-67a6e11 +manylinux2014 = quay.io/pypa/manylinux2014_ppc64le:2021-07-25-cfe8a6c +manylinux_2_24 = quay.io/pypa/manylinux_2_24_ppc64le:2021-07-25-cfe8a6c [s390x] -manylinux2014 = quay.io/pypa/manylinux2014_s390x:2021-07-14-67a6e11 -manylinux_2_24 = quay.io/pypa/manylinux_2_24_s390x:2021-07-14-67a6e11 +manylinux2014 = quay.io/pypa/manylinux2014_s390x:2021-07-25-cfe8a6c +manylinux_2_24 = quay.io/pypa/manylinux_2_24_s390x:2021-07-25-cfe8a6c [pypy_aarch64] -manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2021-07-14-67a6e11 -manylinux_2_24 = quay.io/pypa/manylinux_2_24_aarch64:2021-07-14-67a6e11 +manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2021-07-25-cfe8a6c +manylinux_2_24 = quay.io/pypa/manylinux_2_24_aarch64:2021-07-25-cfe8a6c From 2de5bf4b900759cd6befc4cd95e2493aef781c51 Mon Sep 17 00:00:00 2001 From: Joe Rickerby Date: Sun, 25 Jul 2021 14:39:54 +0100 Subject: [PATCH 37/53] Bump version: v2.0.1 --- README.md | 9 ++++++++- cibuildwheel/__init__.py | 2 +- 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 +- 16 files changed, 29 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index d9803141..fd9677f0 100644 --- a/README.md +++ b/README.md @@ -85,7 +85,7 @@ jobs: - uses: actions/setup-python@v2 - name: Install cibuildwheel - run: python -m pip install cibuildwheel==2.0.0 + run: python -m pip install cibuildwheel==2.0.1 - name: Build wheels run: python -m cibuildwheel --output-dir wheelhouse @@ -354,6 +354,13 @@ Changelog +### v2.0.1 + +_25 July 2021_ + +- πŸ“š Docs improvements (#767) +- πŸ›  Dependency updates, including delocate 0.9.0. + ### v2.0.0 πŸŽ‰ _16 July 2021_ diff --git a/cibuildwheel/__init__.py b/cibuildwheel/__init__.py index 8c0d5d5b..159d48b8 100644 --- a/cibuildwheel/__init__.py +++ b/cibuildwheel/__init__.py @@ -1 +1 @@ -__version__ = "2.0.0" +__version__ = "2.0.1" diff --git a/docs/faq.md b/docs/faq.md index c430de36..1c78d22c 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -210,7 +210,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.0.0 +uses: pypa/cibuildwheel@v2.0.1 ``` 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. @@ -236,7 +236,7 @@ The second option, and the only one that supports other CI systems, is using a ` ```bash # requirements-cibw.txt -cibuildwheel==2.0.0 +cibuildwheel==2.0.1 ``` 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 a1f78cc2..9ae34514 100644 --- a/docs/setup.md +++ b/docs/setup.md @@ -46,7 +46,7 @@ To build Linux, Mac, and Windows wheels using GitHub Actions, create a `.github/ - uses: actions/checkout@v2 - name: Build wheels - run: pipx run cibuildwheel==2.0.0 + run: pipx run cibuildwheel==2.0.1 - uses: actions/upload-artifact@v2 with: @@ -81,7 +81,7 @@ To build Linux, Mac, and Windows wheels using GitHub Actions, create a `.github/ - uses: actions/setup-python@v2 - name: Install cibuildwheel - run: python -m pip install cibuildwheel==2.0.0 + run: python -m pip install cibuildwheel==2.0.1 - name: Build wheels run: python -m cibuildwheel --output-dir wheelhouse diff --git a/examples/appveyor-minimal.yml b/examples/appveyor-minimal.yml index 07563d04..2693751d 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.0.0 +install: python -m pip install cibuildwheel==2.0.1 build_script: python -m cibuildwheel --output-dir wheelhouse diff --git a/examples/azure-pipelines-minimal.yml b/examples/azure-pipelines-minimal.yml index 1fd9014d..0d8f4af4 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.0.0 + pip3 install cibuildwheel==2.0.1 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.0.0 + python3 -m pip install cibuildwheel==2.0.1 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.0.0 + pip install cibuildwheel==2.0.1 displayName: Install dependencies - bash: cibuildwheel --output-dir wheelhouse . displayName: Build wheels diff --git a/examples/circleci-minimal.yml b/examples/circleci-minimal.yml index dbc69407..eb43c400 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.0.0 + pip3 install --user cibuildwheel==2.0.1 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.0.0 + pip3 install cibuildwheel==2.0.1 cibuildwheel --output-dir wheelhouse - store_artifacts: path: wheelhouse/ diff --git a/examples/github-apple-silicon.yml b/examples/github-apple-silicon.yml index 8d836da8..a85e23f1 100644 --- a/examples/github-apple-silicon.yml +++ b/examples/github-apple-silicon.yml @@ -10,7 +10,7 @@ jobs: - uses: actions/checkout@v2 - name: Build wheels - uses: pypa/cibuildwheel@v2.0.0 + uses: pypa/cibuildwheel@v2.0.1 env: CIBW_ARCHS_MACOS: x86_64 universal2 diff --git a/examples/github-deploy.yml b/examples/github-deploy.yml index 7cc4d320..d03ff37c 100644 --- a/examples/github-deploy.yml +++ b/examples/github-deploy.yml @@ -27,7 +27,7 @@ jobs: python-version: '3.8' - name: Build wheels - uses: pypa/cibuildwheel@v2.0.0 + uses: pypa/cibuildwheel@v2.0.1 - uses: actions/upload-artifact@v2 with: diff --git a/examples/github-minimal.yml b/examples/github-minimal.yml index b2df58ae..394bf87b 100644 --- a/examples/github-minimal.yml +++ b/examples/github-minimal.yml @@ -14,7 +14,7 @@ jobs: - uses: actions/checkout@v2 - name: Build wheels - uses: pypa/cibuildwheel@v2.0.0 + uses: pypa/cibuildwheel@v2.0.1 # to supply options, put them in 'env', like: # env: # CIBW_SOME_OPTION: value diff --git a/examples/github-with-qemu.yml b/examples/github-with-qemu.yml index a905a9ea..72aae455 100644 --- a/examples/github-with-qemu.yml +++ b/examples/github-with-qemu.yml @@ -25,7 +25,7 @@ jobs: platforms: all - name: Build wheels - uses: pypa/cibuildwheel@v2.0.0 + uses: pypa/cibuildwheel@v2.0.1 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 4218a7ba..cbb8032f 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.0.0 + - python -m pip install cibuildwheel==2.0.1 - cibuildwheel --output-dir wheelhouse artifacts: paths: diff --git a/examples/travis-ci-deploy.yml b/examples/travis-ci-deploy.yml index bf63b76f..3c1c08c9 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.0.0 + - python3 -m pip install cibuildwheel==2.0.1 script: # build the wheels, put them into './wheelhouse' diff --git a/examples/travis-ci-minimal.yml b/examples/travis-ci-minimal.yml index c9906309..8cdb53ae 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.0.0 + - python3 -m pip install cibuildwheel==2.0.1 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 35f64449..57c05514 100644 --- a/examples/travis-ci-test-and-deploy.yml +++ b/examples/travis-ci-test-and-deploy.yml @@ -57,7 +57,7 @@ jobs: - stage: deploy name: Build and deploy Linux wheels services: docker - install: python3 -m pip install cibuildwheel==2.0.0 + install: python3 -m pip install cibuildwheel==2.0.1 script: python3 -m cibuildwheel --output-dir wheelhouse after_success: | python3 -m pip install twine @@ -67,7 +67,7 @@ jobs: name: Build and deploy Windows wheels os: windows language: shell - install: python3 -m pip install cibuildwheel==2.0.0 + install: python3 -m pip install cibuildwheel==2.0.1 script: python3 -m cibuildwheel --output-dir wheelhouse after_success: | python3 -m pip install twine diff --git a/setup.cfg b/setup.cfg index 9023fbab..f3f6b746 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = cibuildwheel -version = 2.0.0 +version = 2.0.1 description = Build Python wheels on CI with minimal configuration. long_description = file: README.md long_description_content_type = text/markdown From 9232b130d79920e94dc3d2ff2536ddb23de389d1 Mon Sep 17 00:00:00 2001 From: mayeut Date: Mon, 26 Jul 2021 06:10:35 +0000 Subject: [PATCH 38/53] Update dependencies --- README.md | 104 +++++++++--------- .../resources/constraints-python36.txt | 2 +- .../resources/constraints-python37.txt | 2 +- .../resources/constraints-python38.txt | 2 +- .../resources/constraints-python39.txt | 2 +- cibuildwheel/resources/constraints.txt | 2 +- 6 files changed, 57 insertions(+), 57 deletions(-) diff --git a/README.md b/README.md index fd9677f0..09c8e028 100644 --- a/README.md +++ b/README.md @@ -271,66 +271,66 @@ Here are some repos that use cibuildwheel. [apple icon]: docs/data/readme_icons/apple.svg [linux icon]: docs/data/readme_icons/linux.svg - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - + + + - + - - - - - - - + + + + + + + - - - - - + + + + + - - - + + + diff --git a/cibuildwheel/resources/constraints-python36.txt b/cibuildwheel/resources/constraints-python36.txt index 1cfec449..65756d03 100644 --- a/cibuildwheel/resources/constraints-python36.txt +++ b/cibuildwheel/resources/constraints-python36.txt @@ -18,7 +18,7 @@ importlib-metadata==4.6.1 # virtualenv importlib-resources==5.2.0 # via virtualenv -platformdirs==2.0.2 +platformdirs==2.1.0 # via virtualenv six==1.16.0 # via diff --git a/cibuildwheel/resources/constraints-python37.txt b/cibuildwheel/resources/constraints-python37.txt index 25e7194a..ad7d1db7 100644 --- a/cibuildwheel/resources/constraints-python37.txt +++ b/cibuildwheel/resources/constraints-python37.txt @@ -16,7 +16,7 @@ importlib-metadata==4.6.1 # via # backports.entry-points-selectable # virtualenv -platformdirs==2.0.2 +platformdirs==2.1.0 # via virtualenv six==1.16.0 # via diff --git a/cibuildwheel/resources/constraints-python38.txt b/cibuildwheel/resources/constraints-python38.txt index 4ad2783c..85200fff 100644 --- a/cibuildwheel/resources/constraints-python38.txt +++ b/cibuildwheel/resources/constraints-python38.txt @@ -12,7 +12,7 @@ distlib==0.3.2 # via virtualenv filelock==3.0.12 # via virtualenv -platformdirs==2.0.2 +platformdirs==2.1.0 # via virtualenv six==1.16.0 # via diff --git a/cibuildwheel/resources/constraints-python39.txt b/cibuildwheel/resources/constraints-python39.txt index 340d8b9a..f0477700 100644 --- a/cibuildwheel/resources/constraints-python39.txt +++ b/cibuildwheel/resources/constraints-python39.txt @@ -12,7 +12,7 @@ distlib==0.3.2 # via virtualenv filelock==3.0.12 # via virtualenv -platformdirs==2.0.2 +platformdirs==2.1.0 # via virtualenv six==1.16.0 # via diff --git a/cibuildwheel/resources/constraints.txt b/cibuildwheel/resources/constraints.txt index 340d8b9a..f0477700 100644 --- a/cibuildwheel/resources/constraints.txt +++ b/cibuildwheel/resources/constraints.txt @@ -12,7 +12,7 @@ distlib==0.3.2 # via virtualenv filelock==3.0.12 # via virtualenv -platformdirs==2.0.2 +platformdirs==2.1.0 # via virtualenv six==1.16.0 # via From 1abdfcbea1ebb0e6c21ab761cdeb054486c4dff0 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 28 Jul 2021 22:10:19 -0400 Subject: [PATCH 39/53] [pre-commit.ci] pre-commit autoupdate (#777) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/asottile/pyupgrade: v2.21.2 β†’ v2.23.0](https://github.com/asottile/pyupgrade/compare/v2.21.2...v2.23.0) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index ae447459..1cdac066 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.21.2 + rev: v2.23.0 hooks: - id: pyupgrade name: PyUpgrade 3.6+ From ca25f5ffa978b41bfedf277196b4cbc386ad981a Mon Sep 17 00:00:00 2001 From: "cibuildwheel-bot[bot]" <83877280+cibuildwheel-bot[bot]@users.noreply.github.com> Date: Sat, 31 Jul 2021 17:27:33 +0200 Subject: [PATCH 40/53] Update dependencies (#778) Co-authored-by: mayeut --- README.md | 124 +++++++++--------- .../resources/constraints-python36.txt | 10 +- .../resources/constraints-python37.txt | 8 +- .../resources/constraints-python38.txt | 6 +- .../resources/constraints-python39.txt | 6 +- cibuildwheel/resources/constraints.txt | 6 +- 6 files changed, 80 insertions(+), 80 deletions(-) diff --git a/README.md b/README.md index 09c8e028..dfe274cb 100644 --- a/README.md +++ b/README.md @@ -165,8 +165,8 @@ Here are some repos that use cibuildwheel. | [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. | | [python-rapidjson][] | ![travisci icon][] ![gitlab icon][] ![appveyor icon][] | ![windows icon][] ![linux icon][] | Python wrapper around rapidjson | | [Rtree][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Rtree: spatial index for Python GIS ΒΆ | -| [python-snappy][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Python bindings for the snappy google library | | [markupsafe][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Safely add untrusted strings to HTML/XML markup. | +| [python-snappy][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Python bindings for the snappy google library | | [H3-py][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Python bindings for H3, a hierarchical hexagonal geospatial indexing system | | [pybind11 cmake_example][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Example pybind11 module built with a CMake-based build system | | [KDEpy][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Kernel Density Estimation in Python | @@ -226,8 +226,8 @@ Here are some repos that use cibuildwheel. [Parselmouth]: https://github.com/YannickJadoul/Parselmouth [python-rapidjson]: https://github.com/python-rapidjson/python-rapidjson [Rtree]: https://github.com/Toblerity/rtree -[python-snappy]: https://github.com/andrix/python-snappy [markupsafe]: https://github.com/pallets/markupsafe +[python-snappy]: https://github.com/andrix/python-snappy [H3-py]: https://github.com/uber/h3-py [pybind11 cmake_example]: https://github.com/pybind/cmake_example [KDEpy]: https://github.com/tommyod/KDEpy @@ -271,66 +271,66 @@ Here are some repos that use cibuildwheel. [apple icon]: docs/data/readme_icons/apple.svg [linux icon]: docs/data/readme_icons/linux.svg - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/cibuildwheel/resources/constraints-python36.txt b/cibuildwheel/resources/constraints-python36.txt index 65756d03..b4506b6a 100644 --- a/cibuildwheel/resources/constraints-python36.txt +++ b/cibuildwheel/resources/constraints-python36.txt @@ -12,13 +12,13 @@ distlib==0.3.2 # via virtualenv filelock==3.0.12 # via virtualenv -importlib-metadata==4.6.1 +importlib-metadata==4.6.3 # via # backports.entry-points-selectable # virtualenv -importlib-resources==5.2.0 +importlib-resources==5.2.2 # via virtualenv -platformdirs==2.1.0 +platformdirs==2.2.0 # via virtualenv six==1.16.0 # via @@ -28,7 +28,7 @@ typing-extensions==3.10.0.0 # via # delocate # importlib-metadata -virtualenv==20.6.0 +virtualenv==20.7.0 # via -r cibuildwheel/resources/constraints.in wheel==0.36.2 # via @@ -40,7 +40,7 @@ zipp==3.5.0 # importlib-resources # The following packages are considered to be unsafe in a requirements file: -pip==21.2.1 +pip==21.2.2 # via -r cibuildwheel/resources/constraints.in setuptools==57.4.0 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/constraints-python37.txt b/cibuildwheel/resources/constraints-python37.txt index ad7d1db7..6ce89945 100644 --- a/cibuildwheel/resources/constraints-python37.txt +++ b/cibuildwheel/resources/constraints-python37.txt @@ -12,11 +12,11 @@ distlib==0.3.2 # via virtualenv filelock==3.0.12 # via virtualenv -importlib-metadata==4.6.1 +importlib-metadata==4.6.3 # via # backports.entry-points-selectable # virtualenv -platformdirs==2.1.0 +platformdirs==2.2.0 # via virtualenv six==1.16.0 # via @@ -26,7 +26,7 @@ typing-extensions==3.10.0.0 # via # delocate # importlib-metadata -virtualenv==20.6.0 +virtualenv==20.7.0 # via -r cibuildwheel/resources/constraints.in wheel==0.36.2 # via @@ -36,7 +36,7 @@ zipp==3.5.0 # via importlib-metadata # The following packages are considered to be unsafe in a requirements file: -pip==21.2.1 +pip==21.2.2 # via -r cibuildwheel/resources/constraints.in setuptools==57.4.0 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/constraints-python38.txt b/cibuildwheel/resources/constraints-python38.txt index 85200fff..cee2475a 100644 --- a/cibuildwheel/resources/constraints-python38.txt +++ b/cibuildwheel/resources/constraints-python38.txt @@ -12,7 +12,7 @@ distlib==0.3.2 # via virtualenv filelock==3.0.12 # via virtualenv -platformdirs==2.1.0 +platformdirs==2.2.0 # via virtualenv six==1.16.0 # via @@ -20,7 +20,7 @@ six==1.16.0 # virtualenv typing-extensions==3.10.0.0 # via delocate -virtualenv==20.6.0 +virtualenv==20.7.0 # via -r cibuildwheel/resources/constraints.in wheel==0.36.2 # via @@ -28,7 +28,7 @@ wheel==0.36.2 # delocate # The following packages are considered to be unsafe in a requirements file: -pip==21.2.1 +pip==21.2.2 # via -r cibuildwheel/resources/constraints.in setuptools==57.4.0 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/constraints-python39.txt b/cibuildwheel/resources/constraints-python39.txt index f0477700..936cf3b4 100644 --- a/cibuildwheel/resources/constraints-python39.txt +++ b/cibuildwheel/resources/constraints-python39.txt @@ -12,7 +12,7 @@ distlib==0.3.2 # via virtualenv filelock==3.0.12 # via virtualenv -platformdirs==2.1.0 +platformdirs==2.2.0 # via virtualenv six==1.16.0 # via @@ -20,7 +20,7 @@ six==1.16.0 # virtualenv typing-extensions==3.10.0.0 # via delocate -virtualenv==20.6.0 +virtualenv==20.7.0 # via -r cibuildwheel/resources/constraints.in wheel==0.36.2 # via @@ -28,7 +28,7 @@ wheel==0.36.2 # delocate # The following packages are considered to be unsafe in a requirements file: -pip==21.2.1 +pip==21.2.2 # via -r cibuildwheel/resources/constraints.in setuptools==57.4.0 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/constraints.txt b/cibuildwheel/resources/constraints.txt index f0477700..936cf3b4 100644 --- a/cibuildwheel/resources/constraints.txt +++ b/cibuildwheel/resources/constraints.txt @@ -12,7 +12,7 @@ distlib==0.3.2 # via virtualenv filelock==3.0.12 # via virtualenv -platformdirs==2.1.0 +platformdirs==2.2.0 # via virtualenv six==1.16.0 # via @@ -20,7 +20,7 @@ six==1.16.0 # virtualenv typing-extensions==3.10.0.0 # via delocate -virtualenv==20.6.0 +virtualenv==20.7.0 # via -r cibuildwheel/resources/constraints.in wheel==0.36.2 # via @@ -28,7 +28,7 @@ wheel==0.36.2 # delocate # The following packages are considered to be unsafe in a requirements file: -pip==21.2.1 +pip==21.2.2 # via -r cibuildwheel/resources/constraints.in setuptools==57.4.0 # via -r cibuildwheel/resources/constraints.in From 529af6e0408ef3d93c5d5993ad93fdbcaae13a62 Mon Sep 17 00:00:00 2001 From: "cibuildwheel-bot[bot]" <83877280+cibuildwheel-bot[bot]@users.noreply.github.com> Date: Mon, 2 Aug 2021 13:57:05 +0200 Subject: [PATCH 41/53] Update dependencies (#781) Co-authored-by: mayeut --- README.md | 120 +++++++++--------- .../resources/pinned_docker_images.cfg | 44 +++---- 2 files changed, 82 insertions(+), 82 deletions(-) diff --git a/README.md b/README.md index dfe274cb..55712d78 100644 --- a/README.md +++ b/README.md @@ -176,8 +176,8 @@ Here are some repos that use cibuildwheel. | [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. | | [iminuit][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Jupyter-friendly Python interface for C++ MINUIT2 | -| [CTranslate2][] | ![github icon][] | ![apple icon][] ![linux icon][] | Includes libraries from the [Intel oneAPI toolkit](https://software.intel.com/content/www/us/en/develop/tools/oneapi/base-toolkit.html). The Linux wheels also include CUDA libraries for GPU execution. | | [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. | +| [CTranslate2][] | ![github icon][] | ![apple icon][] ![linux icon][] | Includes libraries from the [Intel oneAPI toolkit](https://software.intel.com/content/www/us/en/develop/tools/oneapi/base-toolkit.html). The Linux wheels also include CUDA libraries for GPU execution. | | [jq.py][] | ![travisci icon][] | ![apple icon][] ![linux icon][] | Python bindings for jq | | [Tokenizer][] | ![github icon][] ![travisci icon][] | ![apple icon][] ![linux icon][] | Fast and customizable text tokenization library with BPE and SentencePiece support | | [PyGLM][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Fast OpenGL Mathematics (GLM) for Python | @@ -237,8 +237,8 @@ Here are some repos that use cibuildwheel. [sourmash]: https://github.com/dib-lab/sourmash [time-machine]: https://github.com/adamchainz/time-machine [iminuit]: https://github.com/scikit-hep/iminuit -[CTranslate2]: https://github.com/OpenNMT/CTranslate2 [matrixprofile]: https://github.com/matrix-profile-foundation/matrixprofile +[CTranslate2]: https://github.com/OpenNMT/CTranslate2 [jq.py]: https://github.com/mwilliamson/jq.py [Tokenizer]: https://github.com/OpenNMT/Tokenizer [PyGLM]: https://github.com/Zuzu-Typ/PyGLM @@ -271,66 +271,66 @@ Here are some repos that use cibuildwheel. [apple icon]: docs/data/readme_icons/apple.svg [linux icon]: docs/data/readme_icons/linux.svg - - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + diff --git a/cibuildwheel/resources/pinned_docker_images.cfg b/cibuildwheel/resources/pinned_docker_images.cfg index 80e16bf0..3c6a24f7 100644 --- a/cibuildwheel/resources/pinned_docker_images.cfg +++ b/cibuildwheel/resources/pinned_docker_images.cfg @@ -1,38 +1,38 @@ [x86_64] -manylinux1 = quay.io/pypa/manylinux1_x86_64:2021-07-25-0f995ee -manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2021-07-25-cfe8a6c -manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2021-07-25-cfe8a6c -manylinux_2_24 = quay.io/pypa/manylinux_2_24_x86_64:2021-07-25-cfe8a6c +manylinux1 = quay.io/pypa/manylinux1_x86_64:2021-08-01-f71d505 +manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2021-08-01-5f32364 +manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2021-08-01-5f32364 +manylinux_2_24 = quay.io/pypa/manylinux_2_24_x86_64:2021-08-01-5f32364 [i686] -manylinux1 = quay.io/pypa/manylinux1_i686:2021-07-25-0f995ee -manylinux2010 = quay.io/pypa/manylinux2010_i686:2021-07-25-cfe8a6c -manylinux2014 = quay.io/pypa/manylinux2014_i686:2021-07-25-cfe8a6c -manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2021-07-25-cfe8a6c +manylinux1 = quay.io/pypa/manylinux1_i686:2021-08-01-f71d505 +manylinux2010 = quay.io/pypa/manylinux2010_i686:2021-08-01-5f32364 +manylinux2014 = quay.io/pypa/manylinux2014_i686:2021-08-01-5f32364 +manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2021-08-01-5f32364 [pypy_x86_64] -manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2021-07-25-cfe8a6c -manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2021-07-25-cfe8a6c -manylinux_2_24 = quay.io/pypa/manylinux_2_24_x86_64:2021-07-25-cfe8a6c +manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2021-08-01-5f32364 +manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2021-08-01-5f32364 +manylinux_2_24 = quay.io/pypa/manylinux_2_24_x86_64:2021-08-01-5f32364 [pypy_i686] -manylinux2010 = quay.io/pypa/manylinux2010_i686:2021-07-25-cfe8a6c -manylinux2014 = quay.io/pypa/manylinux2014_i686:2021-07-25-cfe8a6c -manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2021-07-25-cfe8a6c +manylinux2010 = quay.io/pypa/manylinux2010_i686:2021-08-01-5f32364 +manylinux2014 = quay.io/pypa/manylinux2014_i686:2021-08-01-5f32364 +manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2021-08-01-5f32364 [aarch64] -manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2021-07-25-cfe8a6c -manylinux_2_24 = quay.io/pypa/manylinux_2_24_aarch64:2021-07-25-cfe8a6c +manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2021-08-01-5f32364 +manylinux_2_24 = quay.io/pypa/manylinux_2_24_aarch64:2021-08-01-5f32364 [ppc64le] -manylinux2014 = quay.io/pypa/manylinux2014_ppc64le:2021-07-25-cfe8a6c -manylinux_2_24 = quay.io/pypa/manylinux_2_24_ppc64le:2021-07-25-cfe8a6c +manylinux2014 = quay.io/pypa/manylinux2014_ppc64le:2021-08-01-7f822f0 +manylinux_2_24 = quay.io/pypa/manylinux_2_24_ppc64le:2021-08-01-7f822f0 [s390x] -manylinux2014 = quay.io/pypa/manylinux2014_s390x:2021-07-25-cfe8a6c -manylinux_2_24 = quay.io/pypa/manylinux_2_24_s390x:2021-07-25-cfe8a6c +manylinux2014 = quay.io/pypa/manylinux2014_s390x:2021-08-01-5f32364 +manylinux_2_24 = quay.io/pypa/manylinux_2_24_s390x:2021-08-01-5f32364 [pypy_aarch64] -manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2021-07-25-cfe8a6c -manylinux_2_24 = quay.io/pypa/manylinux_2_24_aarch64:2021-07-25-cfe8a6c +manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2021-08-01-5f32364 +manylinux_2_24 = quay.io/pypa/manylinux_2_24_aarch64:2021-08-01-5f32364 From 21d07408837211bc7a8416c58029a37926fba27d Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 3 Aug 2021 10:45:57 -0400 Subject: [PATCH 42/53] [pre-commit.ci] pre-commit autoupdate (#782) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/asottile/pyupgrade: v2.23.0 β†’ v2.23.1](https://github.com/asottile/pyupgrade/compare/v2.23.0...v2.23.1) - [github.com/PyCQA/isort: 5.9.2 β†’ 5.9.3](https://github.com/PyCQA/isort/compare/5.9.2...5.9.3) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- .pre-commit-config.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 1cdac066..e8ab6b8d 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.23.0 + rev: v2.23.1 hooks: - id: pyupgrade name: PyUpgrade 3.6+ @@ -26,7 +26,7 @@ repos: args: ["--py37-plus"] - repo: https://github.com/PyCQA/isort - rev: 5.9.2 + rev: 5.9.3 hooks: - id: isort From 3a068dc6a4ddd2fa1654c2732127dd245763eceb Mon Sep 17 00:00:00 2001 From: Hanaasagi Date: Wed, 4 Aug 2021 14:26:40 +0000 Subject: [PATCH 43/53] fix: fix the libffi package name in doc --- docs/options.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/options.md b/docs/options.md index f57b9a63..bfbe1605 100644 --- a/docs/options.md +++ b/docs/options.md @@ -576,7 +576,7 @@ Platform-specific environment variables also available:
CIBW_BEFORE_ALL: make -C third_party_lib # Install system library - CIBW_BEFORE_ALL_LINUX: yum install -y libffi-dev + CIBW_BEFORE_ALL_LINUX: yum install -y libffi-devel # Chain multiple commands using && and > in a YAML file, like: CIBW_BEFORE_ALL: > @@ -598,7 +598,7 @@ Platform-specific environment variables also available:
# Install system library [tool.cibuildwheel.linux] - before-all = "yum install -y libffi-dev" + before-all = "yum install -y libffi-devel" # Run multiple commands using an array before-all = [ From f8c608c2683ca25ac994558a6a7f664034e076fb Mon Sep 17 00:00:00 2001 From: "cibuildwheel-bot[bot]" <83877280+cibuildwheel-bot[bot]@users.noreply.github.com> Date: Sat, 7 Aug 2021 11:48:34 +0000 Subject: [PATCH 44/53] Update dependencies (#785) Co-authored-by: joerick --- README.md | 128 +++++++++--------- cibuildwheel/resources/build-platforms.toml | 10 +- .../resources/constraints-python36.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 | 40 +++--- 8 files changed, 94 insertions(+), 94 deletions(-) diff --git a/README.md b/README.md index 55712d78..4f43fcbe 100644 --- a/README.md +++ b/README.md @@ -175,8 +175,8 @@ Here are some repos that use cibuildwheel. | [dd-trace-py][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Uses custom alternate arch emulation on GitHub | | [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. | -| [iminuit][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Jupyter-friendly Python interface for C++ MINUIT2 | | [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. | +| [iminuit][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Jupyter-friendly Python interface for C++ MINUIT2 | | [CTranslate2][] | ![github icon][] | ![apple icon][] ![linux icon][] | Includes libraries from the [Intel oneAPI toolkit](https://software.intel.com/content/www/us/en/develop/tools/oneapi/base-toolkit.html). The Linux wheels also include CUDA libraries for GPU execution. | | [jq.py][] | ![travisci icon][] | ![apple icon][] ![linux icon][] | Python bindings for jq | | [Tokenizer][] | ![github icon][] ![travisci icon][] | ![apple icon][] ![linux icon][] | Fast and customizable text tokenization library with BPE and SentencePiece support | @@ -192,9 +192,9 @@ Here are some repos that use cibuildwheel. | [numpythia][] | ![github icon][] | ![apple icon][] ![linux icon][] | The interface between PYTHIA and NumPy | | [polaroid][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Full range of wheels for setuptools rust, with auto release and PyPI deploy. | | [ninja][] | ![github icon][] ![travisci icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Multitagged binary builds for all supported platforms, using cibw 2 config configuration. | +| [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. | | [GSD][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Cython and NumPy project with 64-bit wheels. | | [pybind11 scikit_build_example][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | An example combining scikit-build and pybind11 | -| [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. | | [pyinstrument_cext][] | ![travisci icon][] ![appveyor icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | A simple C extension, without external dependencies | | [xmlstarlet][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Python 3.6+ CFFI bindings with true MSVC build. | | [CorrectionLib][] | ![github icon][] | ![apple icon][] ![linux icon][] | Structured JSON powered correction library for HEP, designed for the CMS experiment at CERN. | @@ -236,8 +236,8 @@ Here are some repos that use cibuildwheel. [dd-trace-py]: https://github.com/DataDog/dd-trace-py [sourmash]: https://github.com/dib-lab/sourmash [time-machine]: https://github.com/adamchainz/time-machine -[iminuit]: https://github.com/scikit-hep/iminuit [matrixprofile]: https://github.com/matrix-profile-foundation/matrixprofile +[iminuit]: https://github.com/scikit-hep/iminuit [CTranslate2]: https://github.com/OpenNMT/CTranslate2 [jq.py]: https://github.com/mwilliamson/jq.py [Tokenizer]: https://github.com/OpenNMT/Tokenizer @@ -253,9 +253,9 @@ Here are some repos that use cibuildwheel. [numpythia]: https://github.com/scikit-hep/numpythia [polaroid]: https://github.com/daggy1234/polaroid [ninja]: https://github.com/scikit-build/ninja-python-distributions +[Imagecodecs (fork)]: https://github.com/czaki/imagecodecs_build [GSD]: https://github.com/glotzerlab/gsd [pybind11 scikit_build_example]: https://github.com/pybind/scikit_build_example -[Imagecodecs (fork)]: https://github.com/czaki/imagecodecs_build [pyinstrument_cext]: https://github.com/joerick/pyinstrument_cext [xmlstarlet]: https://github.com/dimitern/xmlstarlet [CorrectionLib]: https://github.com/cms-nanoAOD/correctionlib @@ -271,66 +271,66 @@ Here are some repos that use cibuildwheel. [apple icon]: docs/data/readme_icons/apple.svg [linux icon]: docs/data/readme_icons/linux.svg - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/cibuildwheel/resources/build-platforms.toml b/cibuildwheel/resources/build-platforms.toml index 1544c292..e727667d 100644 --- a/cibuildwheel/resources/build-platforms.toml +++ b/cibuildwheel/resources/build-platforms.toml @@ -40,9 +40,9 @@ python_configurations = [ { identifier = "cp39-macosx_x86_64", version = "3.9", url = "https://www.python.org/ftp/python/3.9.6/python-3.9.6-macos11.pkg" }, { identifier = "cp39-macosx_arm64", version = "3.9", url = "https://www.python.org/ftp/python/3.9.6/python-3.9.6-macos11.pkg" }, { identifier = "cp39-macosx_universal2", version = "3.9", url = "https://www.python.org/ftp/python/3.9.6/python-3.9.6-macos11.pkg" }, - { identifier = "cp310-macosx_x86_64", version = "3.10", url = "https://www.python.org/ftp/python/3.10.0/python-3.10.0b4-macos11.pkg" }, - { identifier = "cp310-macosx_arm64", version = "3.10", url = "https://www.python.org/ftp/python/3.10.0/python-3.10.0b4-macos11.pkg" }, - { identifier = "cp310-macosx_universal2", version = "3.10", url = "https://www.python.org/ftp/python/3.10.0/python-3.10.0b4-macos11.pkg" }, + { identifier = "cp310-macosx_x86_64", version = "3.10", url = "https://www.python.org/ftp/python/3.10.0/python-3.10.0rc1-macos11.pkg" }, + { identifier = "cp310-macosx_arm64", version = "3.10", url = "https://www.python.org/ftp/python/3.10.0/python-3.10.0rc1-macos11.pkg" }, + { identifier = "cp310-macosx_universal2", version = "3.10", url = "https://www.python.org/ftp/python/3.10.0/python-3.10.0rc1-macos11.pkg" }, { identifier = "pp37-macosx_x86_64", version = "3.7", url = "https://downloads.python.org/pypy/pypy3.7-v7.3.5-osx64.tar.bz2" }, ] @@ -56,7 +56,7 @@ python_configurations = [ { identifier = "cp38-win_amd64", version = "3.8.10", arch = "64" }, { identifier = "cp39-win32", version = "3.9.6", arch = "32" }, { identifier = "cp39-win_amd64", version = "3.9.6", arch = "64" }, - { identifier = "cp310-win32", version = "3.10.0-b4", arch = "32" }, - { identifier = "cp310-win_amd64", version = "3.10.0-b4", arch = "64" }, + { identifier = "cp310-win32", version = "3.10.0-rc1", arch = "32" }, + { identifier = "cp310-win_amd64", version = "3.10.0-rc1", arch = "64" }, { identifier = "pp37-win_amd64", version = "3.7", arch = "64", url = "https://downloads.python.org/pypy/pypy3.7-v7.3.5-win64.zip" }, ] diff --git a/cibuildwheel/resources/constraints-python36.txt b/cibuildwheel/resources/constraints-python36.txt index b4506b6a..bbc0558a 100644 --- a/cibuildwheel/resources/constraints-python36.txt +++ b/cibuildwheel/resources/constraints-python36.txt @@ -40,7 +40,7 @@ zipp==3.5.0 # importlib-resources # The following packages are considered to be unsafe in a requirements file: -pip==21.2.2 +pip==21.2.3 # via -r cibuildwheel/resources/constraints.in setuptools==57.4.0 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/constraints-python37.txt b/cibuildwheel/resources/constraints-python37.txt index 6ce89945..c87c4684 100644 --- a/cibuildwheel/resources/constraints-python37.txt +++ b/cibuildwheel/resources/constraints-python37.txt @@ -36,7 +36,7 @@ zipp==3.5.0 # via importlib-metadata # The following packages are considered to be unsafe in a requirements file: -pip==21.2.2 +pip==21.2.3 # via -r cibuildwheel/resources/constraints.in setuptools==57.4.0 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/constraints-python38.txt b/cibuildwheel/resources/constraints-python38.txt index cee2475a..0fca46ee 100644 --- a/cibuildwheel/resources/constraints-python38.txt +++ b/cibuildwheel/resources/constraints-python38.txt @@ -28,7 +28,7 @@ wheel==0.36.2 # delocate # The following packages are considered to be unsafe in a requirements file: -pip==21.2.2 +pip==21.2.3 # via -r cibuildwheel/resources/constraints.in setuptools==57.4.0 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/constraints-python39.txt b/cibuildwheel/resources/constraints-python39.txt index 936cf3b4..d9e928a8 100644 --- a/cibuildwheel/resources/constraints-python39.txt +++ b/cibuildwheel/resources/constraints-python39.txt @@ -28,7 +28,7 @@ wheel==0.36.2 # delocate # The following packages are considered to be unsafe in a requirements file: -pip==21.2.2 +pip==21.2.3 # via -r cibuildwheel/resources/constraints.in setuptools==57.4.0 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/constraints.txt b/cibuildwheel/resources/constraints.txt index 936cf3b4..d9e928a8 100644 --- a/cibuildwheel/resources/constraints.txt +++ b/cibuildwheel/resources/constraints.txt @@ -28,7 +28,7 @@ wheel==0.36.2 # delocate # The following packages are considered to be unsafe in a requirements file: -pip==21.2.2 +pip==21.2.3 # via -r cibuildwheel/resources/constraints.in setuptools==57.4.0 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/pinned_docker_images.cfg b/cibuildwheel/resources/pinned_docker_images.cfg index 3c6a24f7..2ae1ac51 100644 --- a/cibuildwheel/resources/pinned_docker_images.cfg +++ b/cibuildwheel/resources/pinned_docker_images.cfg @@ -1,38 +1,38 @@ [x86_64] manylinux1 = quay.io/pypa/manylinux1_x86_64:2021-08-01-f71d505 -manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2021-08-01-5f32364 -manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2021-08-01-5f32364 -manylinux_2_24 = quay.io/pypa/manylinux_2_24_x86_64:2021-08-01-5f32364 +manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2021-08-03-e7edb37 +manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2021-08-03-e7edb37 +manylinux_2_24 = quay.io/pypa/manylinux_2_24_x86_64:2021-08-03-e7edb37 [i686] manylinux1 = quay.io/pypa/manylinux1_i686:2021-08-01-f71d505 -manylinux2010 = quay.io/pypa/manylinux2010_i686:2021-08-01-5f32364 -manylinux2014 = quay.io/pypa/manylinux2014_i686:2021-08-01-5f32364 -manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2021-08-01-5f32364 +manylinux2010 = quay.io/pypa/manylinux2010_i686:2021-08-03-e7edb37 +manylinux2014 = quay.io/pypa/manylinux2014_i686:2021-08-03-e7edb37 +manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2021-08-03-e7edb37 [pypy_x86_64] -manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2021-08-01-5f32364 -manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2021-08-01-5f32364 -manylinux_2_24 = quay.io/pypa/manylinux_2_24_x86_64:2021-08-01-5f32364 +manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2021-08-03-e7edb37 +manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2021-08-03-e7edb37 +manylinux_2_24 = quay.io/pypa/manylinux_2_24_x86_64:2021-08-03-e7edb37 [pypy_i686] -manylinux2010 = quay.io/pypa/manylinux2010_i686:2021-08-01-5f32364 -manylinux2014 = quay.io/pypa/manylinux2014_i686:2021-08-01-5f32364 -manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2021-08-01-5f32364 +manylinux2010 = quay.io/pypa/manylinux2010_i686:2021-08-03-e7edb37 +manylinux2014 = quay.io/pypa/manylinux2014_i686:2021-08-03-e7edb37 +manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2021-08-03-e7edb37 [aarch64] -manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2021-08-01-5f32364 -manylinux_2_24 = quay.io/pypa/manylinux_2_24_aarch64:2021-08-01-5f32364 +manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2021-08-03-e7edb37 +manylinux_2_24 = quay.io/pypa/manylinux_2_24_aarch64:2021-08-03-e7edb37 [ppc64le] -manylinux2014 = quay.io/pypa/manylinux2014_ppc64le:2021-08-01-7f822f0 -manylinux_2_24 = quay.io/pypa/manylinux_2_24_ppc64le:2021-08-01-7f822f0 +manylinux2014 = quay.io/pypa/manylinux2014_ppc64le:2021-08-03-e7edb37 +manylinux_2_24 = quay.io/pypa/manylinux_2_24_ppc64le:2021-08-03-e7edb37 [s390x] -manylinux2014 = quay.io/pypa/manylinux2014_s390x:2021-08-01-5f32364 -manylinux_2_24 = quay.io/pypa/manylinux_2_24_s390x:2021-08-01-5f32364 +manylinux2014 = quay.io/pypa/manylinux2014_s390x:2021-08-03-e7edb37 +manylinux_2_24 = quay.io/pypa/manylinux_2_24_s390x:2021-08-03-e7edb37 [pypy_aarch64] -manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2021-08-01-5f32364 -manylinux_2_24 = quay.io/pypa/manylinux_2_24_aarch64:2021-08-01-5f32364 +manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2021-08-03-e7edb37 +manylinux_2_24 = quay.io/pypa/manylinux_2_24_aarch64:2021-08-03-e7edb37 From 8d1238f8e0ef9e0c58b726b3449893230152a67d Mon Sep 17 00:00:00 2001 From: Joe Rickerby Date: Sat, 7 Aug 2021 18:18:50 +0100 Subject: [PATCH 45/53] Bump version: v2.1.0 --- README.md | 6 +++++- cibuildwheel/__init__.py | 2 +- 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 +- 16 files changed, 26 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index 4f43fcbe..6ebb408f 100644 --- a/README.md +++ b/README.md @@ -85,7 +85,7 @@ jobs: - uses: actions/setup-python@v2 - name: Install cibuildwheel - run: python -m pip install cibuildwheel==2.0.1 + run: python -m pip install cibuildwheel==2.1.0 - name: Build wheels run: python -m cibuildwheel --output-dir wheelhouse @@ -354,6 +354,10 @@ Changelog +### v2.1.0 + +- ✨ Corresponding with the release of CPython 3.10.0rc1, which is ABI stable, cibuildwheel now builds CPython 3.10 by default - without the CIBW_PRERELEASE_PYTHONS flag. + ### v2.0.1 _25 July 2021_ diff --git a/cibuildwheel/__init__.py b/cibuildwheel/__init__.py index 159d48b8..9aa3f903 100644 --- a/cibuildwheel/__init__.py +++ b/cibuildwheel/__init__.py @@ -1 +1 @@ -__version__ = "2.0.1" +__version__ = "2.1.0" diff --git a/docs/faq.md b/docs/faq.md index 1c78d22c..ec1292d1 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -210,7 +210,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.0.1 +uses: pypa/cibuildwheel@v2.1.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. @@ -236,7 +236,7 @@ The second option, and the only one that supports other CI systems, is using a ` ```bash # requirements-cibw.txt -cibuildwheel==2.0.1 +cibuildwheel==2.1.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 9ae34514..2c2d7859 100644 --- a/docs/setup.md +++ b/docs/setup.md @@ -46,7 +46,7 @@ To build Linux, Mac, and Windows wheels using GitHub Actions, create a `.github/ - uses: actions/checkout@v2 - name: Build wheels - run: pipx run cibuildwheel==2.0.1 + run: pipx run cibuildwheel==2.1.0 - uses: actions/upload-artifact@v2 with: @@ -81,7 +81,7 @@ To build Linux, Mac, and Windows wheels using GitHub Actions, create a `.github/ - uses: actions/setup-python@v2 - name: Install cibuildwheel - run: python -m pip install cibuildwheel==2.0.1 + run: python -m pip install cibuildwheel==2.1.0 - name: Build wheels run: python -m cibuildwheel --output-dir wheelhouse diff --git a/examples/appveyor-minimal.yml b/examples/appveyor-minimal.yml index 2693751d..7899f97b 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.0.1 +install: python -m pip install cibuildwheel==2.1.0 build_script: python -m cibuildwheel --output-dir wheelhouse diff --git a/examples/azure-pipelines-minimal.yml b/examples/azure-pipelines-minimal.yml index 0d8f4af4..365de32c 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.0.1 + pip3 install cibuildwheel==2.1.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.0.1 + python3 -m pip install cibuildwheel==2.1.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.0.1 + pip install cibuildwheel==2.1.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 eb43c400..5453e092 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.0.1 + pip3 install --user cibuildwheel==2.1.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.0.1 + pip3 install cibuildwheel==2.1.0 cibuildwheel --output-dir wheelhouse - store_artifacts: path: wheelhouse/ diff --git a/examples/github-apple-silicon.yml b/examples/github-apple-silicon.yml index a85e23f1..36058ff5 100644 --- a/examples/github-apple-silicon.yml +++ b/examples/github-apple-silicon.yml @@ -10,7 +10,7 @@ jobs: - uses: actions/checkout@v2 - name: Build wheels - uses: pypa/cibuildwheel@v2.0.1 + uses: pypa/cibuildwheel@v2.1.0 env: CIBW_ARCHS_MACOS: x86_64 universal2 diff --git a/examples/github-deploy.yml b/examples/github-deploy.yml index d03ff37c..ab2d67a6 100644 --- a/examples/github-deploy.yml +++ b/examples/github-deploy.yml @@ -27,7 +27,7 @@ jobs: python-version: '3.8' - name: Build wheels - uses: pypa/cibuildwheel@v2.0.1 + uses: pypa/cibuildwheel@v2.1.0 - uses: actions/upload-artifact@v2 with: diff --git a/examples/github-minimal.yml b/examples/github-minimal.yml index 394bf87b..14fd236e 100644 --- a/examples/github-minimal.yml +++ b/examples/github-minimal.yml @@ -14,7 +14,7 @@ jobs: - uses: actions/checkout@v2 - name: Build wheels - uses: pypa/cibuildwheel@v2.0.1 + uses: pypa/cibuildwheel@v2.1.0 # to supply options, put them in 'env', like: # env: # CIBW_SOME_OPTION: value diff --git a/examples/github-with-qemu.yml b/examples/github-with-qemu.yml index 72aae455..e670b5a7 100644 --- a/examples/github-with-qemu.yml +++ b/examples/github-with-qemu.yml @@ -25,7 +25,7 @@ jobs: platforms: all - name: Build wheels - uses: pypa/cibuildwheel@v2.0.1 + uses: pypa/cibuildwheel@v2.1.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 cbb8032f..2ab7a2ba 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.0.1 + - python -m pip install cibuildwheel==2.1.0 - cibuildwheel --output-dir wheelhouse artifacts: paths: diff --git a/examples/travis-ci-deploy.yml b/examples/travis-ci-deploy.yml index 3c1c08c9..c020a3f7 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.0.1 + - python3 -m pip install cibuildwheel==2.1.0 script: # build the wheels, put them into './wheelhouse' diff --git a/examples/travis-ci-minimal.yml b/examples/travis-ci-minimal.yml index 8cdb53ae..0d85d058 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.0.1 + - python3 -m pip install cibuildwheel==2.1.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 57c05514..0dd535f9 100644 --- a/examples/travis-ci-test-and-deploy.yml +++ b/examples/travis-ci-test-and-deploy.yml @@ -57,7 +57,7 @@ jobs: - stage: deploy name: Build and deploy Linux wheels services: docker - install: python3 -m pip install cibuildwheel==2.0.1 + install: python3 -m pip install cibuildwheel==2.1.0 script: python3 -m cibuildwheel --output-dir wheelhouse after_success: | python3 -m pip install twine @@ -67,7 +67,7 @@ jobs: name: Build and deploy Windows wheels os: windows language: shell - install: python3 -m pip install cibuildwheel==2.0.1 + install: python3 -m pip install cibuildwheel==2.1.0 script: python3 -m cibuildwheel --output-dir wheelhouse after_success: | python3 -m pip install twine diff --git a/setup.cfg b/setup.cfg index f3f6b746..27453eac 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = cibuildwheel -version = 2.0.1 +version = 2.1.0 description = Build Python wheels on CI with minimal configuration. long_description = file: README.md long_description_content_type = text/markdown From f678ee3e47301595dda29197fa474966a87532d4 Mon Sep 17 00:00:00 2001 From: Joe Rickerby Date: Sat, 7 Aug 2021 18:26:48 +0100 Subject: [PATCH 46/53] Add missing date to changelog --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 6ebb408f..f5fd45ad 100644 --- a/README.md +++ b/README.md @@ -356,6 +356,8 @@ Changelog ### v2.1.0 +_7 August 2021_ + - ✨ Corresponding with the release of CPython 3.10.0rc1, which is ABI stable, cibuildwheel now builds CPython 3.10 by default - without the CIBW_PRERELEASE_PYTHONS flag. ### v2.0.1 From c2b9a4c77cd6af85df06569db0b5b2beaa0ffeb7 Mon Sep 17 00:00:00 2001 From: Joe Rickerby Date: Sat, 7 Aug 2021 18:28:58 +0100 Subject: [PATCH 47/53] Bring 3.10 out of prerelease --- cibuildwheel/util.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cibuildwheel/util.py b/cibuildwheel/util.py index 079cc53d..581799cf 100644 --- a/cibuildwheel/util.py +++ b/cibuildwheel/util.py @@ -67,7 +67,7 @@ class IdentifierSelector: """ # a pattern that skips prerelease versions, when include_prereleases is False. - PRERELEASE_SKIP = "cp310-*" + PRERELEASE_SKIP = "" def __init__( self, From df0ef63b72de75bc4bf780f4dcd23d276b6a2bcb Mon Sep 17 00:00:00 2001 From: Joe Rickerby Date: Sat, 7 Aug 2021 18:38:23 +0100 Subject: [PATCH 48/53] Fix build selector unit test --- unit_test/build_selector_test.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/unit_test/build_selector_test.py b/unit_test/build_selector_test.py index 76131c81..c99b28f1 100644 --- a/unit_test/build_selector_test.py +++ b/unit_test/build_selector_test.py @@ -1,3 +1,4 @@ +import pytest from packaging.specifiers import SpecifierSet from cibuildwheel.util import BuildSelector @@ -8,7 +9,7 @@ def test_build(): assert build_selector("cp36-manylinux_x86_64") assert build_selector("cp37-manylinux_x86_64") - assert not build_selector("cp310-manylinux_x86_64") + assert build_selector("cp310-manylinux_x86_64") assert build_selector("pp36-manylinux_x86_64") assert build_selector("pp37-manylinux_x86_64") assert build_selector("cp36-manylinux_i686") @@ -26,11 +27,12 @@ def test_build(): assert not build_selector("pp37-win32") assert build_selector("cp36-win_amd64") assert build_selector("cp37-win_amd64") - assert not build_selector("cp310-win_amd64") + assert build_selector("cp310-win_amd64") assert not build_selector("pp36-win_amd64") assert not build_selector("pp37-win_amd64") +@pytest.mark.skip("this test only makes sense when we have a prerelease python to test with") def test_build_filter_pre(): build_selector = BuildSelector( build_config="cp3*-* *-manylinux*", From c713c6053dc990e6266d744fa784a2ae5cd001c3 Mon Sep 17 00:00:00 2001 From: Joe Rickerby Date: Sat, 7 Aug 2021 20:06:19 +0100 Subject: [PATCH 49/53] Bump version: v2.1.1 --- README.md | 6 ++++-- cibuildwheel/__init__.py | 2 +- 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 +- 16 files changed, 25 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index f5fd45ad..5f401a47 100644 --- a/README.md +++ b/README.md @@ -85,7 +85,7 @@ jobs: - uses: actions/setup-python@v2 - name: Install cibuildwheel - run: python -m pip install cibuildwheel==2.1.0 + run: python -m pip install cibuildwheel==2.1.1 - name: Build wheels run: python -m cibuildwheel --output-dir wheelhouse @@ -354,12 +354,14 @@ Changelog -### v2.1.0 +### v2.1.1 _7 August 2021_ - ✨ Corresponding with the release of CPython 3.10.0rc1, which is ABI stable, cibuildwheel now builds CPython 3.10 by default - without the CIBW_PRERELEASE_PYTHONS flag. +Note: v2.1.0 was a bad release, it was yanked from PyPI. + ### v2.0.1 _25 July 2021_ diff --git a/cibuildwheel/__init__.py b/cibuildwheel/__init__.py index 9aa3f903..58039f50 100644 --- a/cibuildwheel/__init__.py +++ b/cibuildwheel/__init__.py @@ -1 +1 @@ -__version__ = "2.1.0" +__version__ = "2.1.1" diff --git a/docs/faq.md b/docs/faq.md index ec1292d1..80457bef 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -210,7 +210,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.1.0 +uses: pypa/cibuildwheel@v2.1.1 ``` 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. @@ -236,7 +236,7 @@ The second option, and the only one that supports other CI systems, is using a ` ```bash # requirements-cibw.txt -cibuildwheel==2.1.0 +cibuildwheel==2.1.1 ``` 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 2c2d7859..488b3dd3 100644 --- a/docs/setup.md +++ b/docs/setup.md @@ -46,7 +46,7 @@ To build Linux, Mac, and Windows wheels using GitHub Actions, create a `.github/ - uses: actions/checkout@v2 - name: Build wheels - run: pipx run cibuildwheel==2.1.0 + run: pipx run cibuildwheel==2.1.1 - uses: actions/upload-artifact@v2 with: @@ -81,7 +81,7 @@ To build Linux, Mac, and Windows wheels using GitHub Actions, create a `.github/ - uses: actions/setup-python@v2 - name: Install cibuildwheel - run: python -m pip install cibuildwheel==2.1.0 + run: python -m pip install cibuildwheel==2.1.1 - name: Build wheels run: python -m cibuildwheel --output-dir wheelhouse diff --git a/examples/appveyor-minimal.yml b/examples/appveyor-minimal.yml index 7899f97b..6d8314b4 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.1.0 +install: python -m pip install cibuildwheel==2.1.1 build_script: python -m cibuildwheel --output-dir wheelhouse diff --git a/examples/azure-pipelines-minimal.yml b/examples/azure-pipelines-minimal.yml index 365de32c..e7c56f55 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.1.0 + pip3 install cibuildwheel==2.1.1 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.1.0 + python3 -m pip install cibuildwheel==2.1.1 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.1.0 + pip install cibuildwheel==2.1.1 displayName: Install dependencies - bash: cibuildwheel --output-dir wheelhouse . displayName: Build wheels diff --git a/examples/circleci-minimal.yml b/examples/circleci-minimal.yml index 5453e092..cbfc2b1b 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.1.0 + pip3 install --user cibuildwheel==2.1.1 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.1.0 + pip3 install cibuildwheel==2.1.1 cibuildwheel --output-dir wheelhouse - store_artifacts: path: wheelhouse/ diff --git a/examples/github-apple-silicon.yml b/examples/github-apple-silicon.yml index 36058ff5..20011cd3 100644 --- a/examples/github-apple-silicon.yml +++ b/examples/github-apple-silicon.yml @@ -10,7 +10,7 @@ jobs: - uses: actions/checkout@v2 - name: Build wheels - uses: pypa/cibuildwheel@v2.1.0 + uses: pypa/cibuildwheel@v2.1.1 env: CIBW_ARCHS_MACOS: x86_64 universal2 diff --git a/examples/github-deploy.yml b/examples/github-deploy.yml index ab2d67a6..dd974f08 100644 --- a/examples/github-deploy.yml +++ b/examples/github-deploy.yml @@ -27,7 +27,7 @@ jobs: python-version: '3.8' - name: Build wheels - uses: pypa/cibuildwheel@v2.1.0 + uses: pypa/cibuildwheel@v2.1.1 - uses: actions/upload-artifact@v2 with: diff --git a/examples/github-minimal.yml b/examples/github-minimal.yml index 14fd236e..20d6f1e3 100644 --- a/examples/github-minimal.yml +++ b/examples/github-minimal.yml @@ -14,7 +14,7 @@ jobs: - uses: actions/checkout@v2 - name: Build wheels - uses: pypa/cibuildwheel@v2.1.0 + uses: pypa/cibuildwheel@v2.1.1 # to supply options, put them in 'env', like: # env: # CIBW_SOME_OPTION: value diff --git a/examples/github-with-qemu.yml b/examples/github-with-qemu.yml index e670b5a7..71b7f3ff 100644 --- a/examples/github-with-qemu.yml +++ b/examples/github-with-qemu.yml @@ -25,7 +25,7 @@ jobs: platforms: all - name: Build wheels - uses: pypa/cibuildwheel@v2.1.0 + uses: pypa/cibuildwheel@v2.1.1 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 2ab7a2ba..5cc4994a 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.1.0 + - python -m pip install cibuildwheel==2.1.1 - cibuildwheel --output-dir wheelhouse artifacts: paths: diff --git a/examples/travis-ci-deploy.yml b/examples/travis-ci-deploy.yml index c020a3f7..d189b0d9 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.1.0 + - python3 -m pip install cibuildwheel==2.1.1 script: # build the wheels, put them into './wheelhouse' diff --git a/examples/travis-ci-minimal.yml b/examples/travis-ci-minimal.yml index 0d85d058..3a8796e1 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.1.0 + - python3 -m pip install cibuildwheel==2.1.1 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 0dd535f9..057818b8 100644 --- a/examples/travis-ci-test-and-deploy.yml +++ b/examples/travis-ci-test-and-deploy.yml @@ -57,7 +57,7 @@ jobs: - stage: deploy name: Build and deploy Linux wheels services: docker - install: python3 -m pip install cibuildwheel==2.1.0 + install: python3 -m pip install cibuildwheel==2.1.1 script: python3 -m cibuildwheel --output-dir wheelhouse after_success: | python3 -m pip install twine @@ -67,7 +67,7 @@ jobs: name: Build and deploy Windows wheels os: windows language: shell - install: python3 -m pip install cibuildwheel==2.1.0 + install: python3 -m pip install cibuildwheel==2.1.1 script: python3 -m cibuildwheel --output-dir wheelhouse after_success: | python3 -m pip install twine diff --git a/setup.cfg b/setup.cfg index 27453eac..291e4fcc 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = cibuildwheel -version = 2.1.0 +version = 2.1.1 description = Build Python wheels on CI with minimal configuration. long_description = file: README.md long_description_content_type = text/markdown From 7f6350e97a5cb34cd6093c33cc7c8e01bf83a2b8 Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Sat, 7 Aug 2021 23:38:44 -0400 Subject: [PATCH 50/53] docs: remove mention of prerelease flag for 3.10 --- README.md | 5 ++--- docs/options.md | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 5f401a47..d06fa4e2 100644 --- a/README.md +++ b/README.md @@ -28,10 +28,9 @@ What does it do? | CPythonΒ 3.7 | βœ… | N/A | βœ… | βœ… | βœ… | βœ… | βœ… | βœ… | βœ… | | CPythonΒ 3.8 | βœ… | βœ… | βœ… | βœ… | βœ… | βœ… | βœ… | βœ… | βœ… | | CPythonΒ 3.9 | βœ… | βœ… | βœ… | βœ… | βœ… | βœ… | βœ… | βœ… | βœ… | -| CPythonΒ 3.10ΒΉ | βœ… | βœ… | βœ… | βœ… | βœ… | βœ… | βœ… | βœ… | βœ… | +| CPythonΒ 3.10 | βœ… | βœ… | βœ… | βœ… | βœ… | βœ… | βœ… | βœ… | βœ… | | PyPyΒ 3.7 v7.3 | βœ… | N/A | βœ… | N/A | βœ… | βœ… | βœ… | N/A | N/A | -ΒΉ Available as a prerelease under a [flag](https://cibuildwheel.readthedocs.io/en/stable/options/#prerelease-pythons)
- Builds manylinux, macOS 10.9+, and Windows wheels for CPython and PyPy - Works on GitHub Actions, Azure Pipelines, Travis CI, AppVeyor, CircleCI, and GitLab CI @@ -109,7 +108,7 @@ Options | | [`CIBW_BUILD`](https://cibuildwheel.readthedocs.io/en/stable/options/#build-skip)
[`CIBW_SKIP`](https://cibuildwheel.readthedocs.io/en/stable/options/#build-skip) | Choose the Python versions to build | | | [`CIBW_ARCHS`](https://cibuildwheel.readthedocs.io/en/stable/options/#archs) | Change the architectures built on your machine by default. | | | [`CIBW_PROJECT_REQUIRES_PYTHON`](https://cibuildwheel.readthedocs.io/en/stable/options/#requires-python) | Manually set the Python compatibility of your project | -| | [`CIBW_PRERELEASE_PYTHONS`](https://cibuildwheel.readthedocs.io/en/stable/options/#prerelease-pythons) | Enable building with pre-release versions of Python | +| | [`CIBW_PRERELEASE_PYTHONS`](https://cibuildwheel.readthedocs.io/en/stable/options/#prerelease-pythons) | Enable building with pre-release versions of Python if available | | **Build customization** | [`CIBW_BUILD_FRONTEND`](https://cibuildwheel.readthedocs.io/en/stable/options/#build-frontend) | Set the tool to use to build, either "pip" (default for now) or "build" | | | [`CIBW_ENVIRONMENT`](https://cibuildwheel.readthedocs.io/en/stable/options/#environment) | Set environment variables needed during the build | | | [`CIBW_BEFORE_ALL`](https://cibuildwheel.readthedocs.io/en/stable/options/#before-all) | Execute a shell command on the build system before any wheels are built. | diff --git a/docs/options.md b/docs/options.md index bfbe1605..53637f1d 100644 --- a/docs/options.md +++ b/docs/options.md @@ -406,7 +406,7 @@ This option is not available in `pyproject.toml` under ``` ### `CIBW_PRERELEASE_PYTHONS` {: #prerelease-pythons} -> Enable building with pre-release versions of Python +> Enable building with pre-release versions of Python if available During the beta period, when new versions of Python are being tested, cibuildwheel will often gain early support for beta releases. If you would From 6608c2364ba67fa899a3f597ff2b7e65601b1eac Mon Sep 17 00:00:00 2001 From: mayeut Date: Mon, 9 Aug 2021 06:10:29 +0000 Subject: [PATCH 51/53] Update dependencies --- README.md | 124 +++++++++++++++++++++++++++--------------------------- 1 file changed, 62 insertions(+), 62 deletions(-) diff --git a/README.md b/README.md index d06fa4e2..fce64dd7 100644 --- a/README.md +++ b/README.md @@ -165,13 +165,13 @@ Here are some repos that use cibuildwheel. | [python-rapidjson][] | ![travisci icon][] ![gitlab icon][] ![appveyor icon][] | ![windows icon][] ![linux icon][] | Python wrapper around rapidjson | | [Rtree][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Rtree: spatial index for Python GIS ΒΆ | | [markupsafe][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Safely add untrusted strings to HTML/XML markup. | -| [python-snappy][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Python bindings for the snappy google library | | [H3-py][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Python bindings for H3, a hierarchical hexagonal geospatial indexing system | +| [python-snappy][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Python bindings for the snappy google library | | [pybind11 cmake_example][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Example pybind11 module built with a CMake-based build system | | [KDEpy][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Kernel Density Estimation in Python | | [cyvcf2][] | ![github icon][] | ![apple icon][] ![linux icon][] | cython + htslib == fast VCF and BCF processing | -| [pybind11 python_example][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Example pybind11 module built with a Python-based build system | | [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. | | [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. | @@ -226,13 +226,13 @@ Here are some repos that use cibuildwheel. [python-rapidjson]: https://github.com/python-rapidjson/python-rapidjson [Rtree]: https://github.com/Toblerity/rtree [markupsafe]: https://github.com/pallets/markupsafe -[python-snappy]: https://github.com/andrix/python-snappy [H3-py]: https://github.com/uber/h3-py +[python-snappy]: https://github.com/andrix/python-snappy [pybind11 cmake_example]: https://github.com/pybind/cmake_example [KDEpy]: https://github.com/tommyod/KDEpy [cyvcf2]: https://github.com/brentp/cyvcf2 -[pybind11 python_example]: https://github.com/pybind/python_example [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 [matrixprofile]: https://github.com/matrix-profile-foundation/matrixprofile @@ -270,66 +270,66 @@ Here are some repos that use cibuildwheel. [apple icon]: docs/data/readme_icons/apple.svg [linux icon]: docs/data/readme_icons/linux.svg - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + From 80a57d98c5871518b0833924cf5c8373e1449364 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 9 Aug 2021 17:20:43 +0000 Subject: [PATCH 52/53] [pre-commit.ci] pre-commit autoupdate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/asottile/pyupgrade: v2.23.1 β†’ v2.23.3](https://github.com/asottile/pyupgrade/compare/v2.23.1...v2.23.3) --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index e8ab6b8d..559c771b 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.23.1 + rev: v2.23.3 hooks: - id: pyupgrade name: PyUpgrade 3.6+ From 8eaea06f6cbad8f115d83488db476d79bba815ec Mon Sep 17 00:00:00 2001 From: mayeut Date: Mon, 16 Aug 2021 06:10:42 +0000 Subject: [PATCH 53/53] Update dependencies --- README.md | 126 +++++++++--------- .../resources/constraints-python36.txt | 8 +- .../resources/constraints-python37.txt | 8 +- .../resources/constraints-python38.txt | 6 +- .../resources/constraints-python39.txt | 6 +- cibuildwheel/resources/constraints.txt | 6 +- .../resources/pinned_docker_images.cfg | 40 +++--- 7 files changed, 100 insertions(+), 100 deletions(-) diff --git a/README.md b/README.md index fce64dd7..3b2f84e9 100644 --- a/README.md +++ b/README.md @@ -170,11 +170,11 @@ Here are some repos that use cibuildwheel. | [pybind11 cmake_example][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Example pybind11 module built with a CMake-based build system | | [KDEpy][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Kernel Density Estimation in Python | | [cyvcf2][] | ![github icon][] | ![apple icon][] ![linux icon][] | cython + htslib == fast VCF and BCF processing | -| [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 | +| [dd-trace-py][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Uses custom alternate arch emulation on GitHub | | [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. | | [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. | +| [time-machine][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Time mocking library using only the CPython C API. | | [iminuit][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Jupyter-friendly Python interface for C++ MINUIT2 | | [CTranslate2][] | ![github icon][] | ![apple icon][] ![linux icon][] | Includes libraries from the [Intel oneAPI toolkit](https://software.intel.com/content/www/us/en/develop/tools/oneapi/base-toolkit.html). The Linux wheels also include CUDA libraries for GPU execution. | | [jq.py][] | ![travisci icon][] | ![apple icon][] ![linux icon][] | Python bindings for jq | @@ -231,11 +231,11 @@ Here are some repos that use cibuildwheel. [pybind11 cmake_example]: https://github.com/pybind/cmake_example [KDEpy]: https://github.com/tommyod/KDEpy [cyvcf2]: https://github.com/brentp/cyvcf2 -[dd-trace-py]: https://github.com/DataDog/dd-trace-py [pybind11 python_example]: https://github.com/pybind/python_example +[dd-trace-py]: https://github.com/DataDog/dd-trace-py [sourmash]: https://github.com/dib-lab/sourmash -[time-machine]: https://github.com/adamchainz/time-machine [matrixprofile]: https://github.com/matrix-profile-foundation/matrixprofile +[time-machine]: https://github.com/adamchainz/time-machine [iminuit]: https://github.com/scikit-hep/iminuit [CTranslate2]: https://github.com/OpenNMT/CTranslate2 [jq.py]: https://github.com/mwilliamson/jq.py @@ -270,66 +270,66 @@ Here are some repos that use cibuildwheel. [apple icon]: docs/data/readme_icons/apple.svg [linux icon]: docs/data/readme_icons/linux.svg - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/cibuildwheel/resources/constraints-python36.txt b/cibuildwheel/resources/constraints-python36.txt index bbc0558a..25811f76 100644 --- a/cibuildwheel/resources/constraints-python36.txt +++ b/cibuildwheel/resources/constraints-python36.txt @@ -12,7 +12,7 @@ distlib==0.3.2 # via virtualenv filelock==3.0.12 # via virtualenv -importlib-metadata==4.6.3 +importlib-metadata==4.6.4 # via # backports.entry-points-selectable # virtualenv @@ -28,9 +28,9 @@ typing-extensions==3.10.0.0 # via # delocate # importlib-metadata -virtualenv==20.7.0 +virtualenv==20.7.2 # via -r cibuildwheel/resources/constraints.in -wheel==0.36.2 +wheel==0.37.0 # via # -r cibuildwheel/resources/constraints.in # delocate @@ -40,7 +40,7 @@ zipp==3.5.0 # importlib-resources # The following packages are considered to be unsafe in a requirements file: -pip==21.2.3 +pip==21.2.4 # via -r cibuildwheel/resources/constraints.in setuptools==57.4.0 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/constraints-python37.txt b/cibuildwheel/resources/constraints-python37.txt index c87c4684..5f6347e2 100644 --- a/cibuildwheel/resources/constraints-python37.txt +++ b/cibuildwheel/resources/constraints-python37.txt @@ -12,7 +12,7 @@ distlib==0.3.2 # via virtualenv filelock==3.0.12 # via virtualenv -importlib-metadata==4.6.3 +importlib-metadata==4.6.4 # via # backports.entry-points-selectable # virtualenv @@ -26,9 +26,9 @@ typing-extensions==3.10.0.0 # via # delocate # importlib-metadata -virtualenv==20.7.0 +virtualenv==20.7.2 # via -r cibuildwheel/resources/constraints.in -wheel==0.36.2 +wheel==0.37.0 # via # -r cibuildwheel/resources/constraints.in # delocate @@ -36,7 +36,7 @@ zipp==3.5.0 # via importlib-metadata # The following packages are considered to be unsafe in a requirements file: -pip==21.2.3 +pip==21.2.4 # via -r cibuildwheel/resources/constraints.in setuptools==57.4.0 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/constraints-python38.txt b/cibuildwheel/resources/constraints-python38.txt index 0fca46ee..3f8702aa 100644 --- a/cibuildwheel/resources/constraints-python38.txt +++ b/cibuildwheel/resources/constraints-python38.txt @@ -20,15 +20,15 @@ six==1.16.0 # virtualenv typing-extensions==3.10.0.0 # via delocate -virtualenv==20.7.0 +virtualenv==20.7.2 # via -r cibuildwheel/resources/constraints.in -wheel==0.36.2 +wheel==0.37.0 # via # -r cibuildwheel/resources/constraints.in # delocate # The following packages are considered to be unsafe in a requirements file: -pip==21.2.3 +pip==21.2.4 # via -r cibuildwheel/resources/constraints.in setuptools==57.4.0 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/constraints-python39.txt b/cibuildwheel/resources/constraints-python39.txt index d9e928a8..57687a6f 100644 --- a/cibuildwheel/resources/constraints-python39.txt +++ b/cibuildwheel/resources/constraints-python39.txt @@ -20,15 +20,15 @@ six==1.16.0 # virtualenv typing-extensions==3.10.0.0 # via delocate -virtualenv==20.7.0 +virtualenv==20.7.2 # via -r cibuildwheel/resources/constraints.in -wheel==0.36.2 +wheel==0.37.0 # via # -r cibuildwheel/resources/constraints.in # delocate # The following packages are considered to be unsafe in a requirements file: -pip==21.2.3 +pip==21.2.4 # via -r cibuildwheel/resources/constraints.in setuptools==57.4.0 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/constraints.txt b/cibuildwheel/resources/constraints.txt index d9e928a8..57687a6f 100644 --- a/cibuildwheel/resources/constraints.txt +++ b/cibuildwheel/resources/constraints.txt @@ -20,15 +20,15 @@ six==1.16.0 # virtualenv typing-extensions==3.10.0.0 # via delocate -virtualenv==20.7.0 +virtualenv==20.7.2 # via -r cibuildwheel/resources/constraints.in -wheel==0.36.2 +wheel==0.37.0 # via # -r cibuildwheel/resources/constraints.in # delocate # The following packages are considered to be unsafe in a requirements file: -pip==21.2.3 +pip==21.2.4 # via -r cibuildwheel/resources/constraints.in setuptools==57.4.0 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/pinned_docker_images.cfg b/cibuildwheel/resources/pinned_docker_images.cfg index 2ae1ac51..7f07856d 100644 --- a/cibuildwheel/resources/pinned_docker_images.cfg +++ b/cibuildwheel/resources/pinned_docker_images.cfg @@ -1,38 +1,38 @@ [x86_64] manylinux1 = quay.io/pypa/manylinux1_x86_64:2021-08-01-f71d505 -manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2021-08-03-e7edb37 -manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2021-08-03-e7edb37 -manylinux_2_24 = quay.io/pypa/manylinux_2_24_x86_64:2021-08-03-e7edb37 +manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2021-08-09-92f447b +manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2021-08-09-92f447b +manylinux_2_24 = quay.io/pypa/manylinux_2_24_x86_64:2021-08-09-92f447b [i686] manylinux1 = quay.io/pypa/manylinux1_i686:2021-08-01-f71d505 -manylinux2010 = quay.io/pypa/manylinux2010_i686:2021-08-03-e7edb37 -manylinux2014 = quay.io/pypa/manylinux2014_i686:2021-08-03-e7edb37 -manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2021-08-03-e7edb37 +manylinux2010 = quay.io/pypa/manylinux2010_i686:2021-08-09-92f447b +manylinux2014 = quay.io/pypa/manylinux2014_i686:2021-08-09-92f447b +manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2021-08-09-92f447b [pypy_x86_64] -manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2021-08-03-e7edb37 -manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2021-08-03-e7edb37 -manylinux_2_24 = quay.io/pypa/manylinux_2_24_x86_64:2021-08-03-e7edb37 +manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2021-08-09-92f447b +manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2021-08-09-92f447b +manylinux_2_24 = quay.io/pypa/manylinux_2_24_x86_64:2021-08-09-92f447b [pypy_i686] -manylinux2010 = quay.io/pypa/manylinux2010_i686:2021-08-03-e7edb37 -manylinux2014 = quay.io/pypa/manylinux2014_i686:2021-08-03-e7edb37 -manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2021-08-03-e7edb37 +manylinux2010 = quay.io/pypa/manylinux2010_i686:2021-08-09-92f447b +manylinux2014 = quay.io/pypa/manylinux2014_i686:2021-08-09-92f447b +manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2021-08-09-92f447b [aarch64] -manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2021-08-03-e7edb37 -manylinux_2_24 = quay.io/pypa/manylinux_2_24_aarch64:2021-08-03-e7edb37 +manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2021-08-09-92f447b +manylinux_2_24 = quay.io/pypa/manylinux_2_24_aarch64:2021-08-09-92f447b [ppc64le] -manylinux2014 = quay.io/pypa/manylinux2014_ppc64le:2021-08-03-e7edb37 -manylinux_2_24 = quay.io/pypa/manylinux_2_24_ppc64le:2021-08-03-e7edb37 +manylinux2014 = quay.io/pypa/manylinux2014_ppc64le:2021-08-09-92f447b +manylinux_2_24 = quay.io/pypa/manylinux_2_24_ppc64le:2021-08-09-92f447b [s390x] -manylinux2014 = quay.io/pypa/manylinux2014_s390x:2021-08-03-e7edb37 -manylinux_2_24 = quay.io/pypa/manylinux_2_24_s390x:2021-08-03-e7edb37 +manylinux2014 = quay.io/pypa/manylinux2014_s390x:2021-08-09-92f447b +manylinux_2_24 = quay.io/pypa/manylinux_2_24_s390x:2021-08-09-92f447b [pypy_aarch64] -manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2021-08-03-e7edb37 -manylinux_2_24 = quay.io/pypa/manylinux_2_24_aarch64:2021-08-03-e7edb37 +manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2021-08-09-92f447b +manylinux_2_24 = quay.io/pypa/manylinux_2_24_aarch64:2021-08-09-92f447b