Compare commits

...
7 Commits
Author SHA1 Message Date
Joe Rickerby 5e15bb25b4 Bump version: v2.12.3 2023-04-19 09:00:54 +01:00
Joe Rickerby 52572ccdd0 Merge pull request #1479 from henryiii/henryiii/fix/py37
fix: Python 3.7 support
2023-04-19 08:58:03 +01:00
Edouard Choinière c6027e4fc7 docs: fix options.md typos (#1477) 2023-04-18 23:50:58 -04:00
Henry Schreiner aff6dd5adc refactor: tomllib in _compat
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
2023-04-18 23:29:54 -04:00
Henry Schreiner 31bd9c9174 refactor: restore typing for non-backports
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
2023-04-18 23:29:01 -04:00
Henry Schreiner d996af554a fix: restore Python 3.7 support
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
2023-04-18 22:02:47 -04:00
Henry Schreiner e42f243b52 ci: add Python 3.7
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
2023-04-18 21:42:48 -04:00
45 changed files with 141 additions and 134 deletions
+3
View File
@@ -39,6 +39,9 @@ jobs:
matrix: matrix:
os: [ubuntu-20.04, windows-latest, macos-11] os: [ubuntu-20.04, windows-latest, macos-11]
python_version: ['3.11'] python_version: ['3.11']
include:
- os: ubuntu-22.04
python_version: '3.7'
timeout-minutes: 180 timeout-minutes: 180
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
+7 -9
View File
@@ -94,7 +94,7 @@ jobs:
- uses: actions/setup-python@v3 - uses: actions/setup-python@v3
- name: Install cibuildwheel - name: Install cibuildwheel
run: python -m pip install cibuildwheel==2.12.2 run: python -m pip install cibuildwheel==2.12.3
- name: Build wheels - name: Build wheels
run: python -m cibuildwheel --output-dir wheelhouse run: python -m cibuildwheel --output-dir wheelhouse
@@ -210,6 +210,12 @@ Changelog
<!-- this section was generated by bin/update_readme_changelog.py -- do not edit manually --> <!-- this section was generated by bin/update_readme_changelog.py -- do not edit manually -->
### v2.12.3
_19 April 2023_
- 🐛 Fix an import error when running on Python 3.7. (#1479)
### v2.12.2 ### v2.12.2
_18 April 2023_ _18 April 2023_
@@ -240,14 +246,6 @@ _24 Dec 2022_
- 🛠 Updates PyPy to 7.3.10, except on macOS which remains on 7.3.9 due to a bug on that platform. (#1371) - 🛠 Updates PyPy to 7.3.10, except on macOS which remains on 7.3.9 due to a bug on that platform. (#1371)
- 📚 Added a reference to abi3audit to the docs (#1347) - 📚 Added a reference to abi3audit to the docs (#1347)
### v2.11.3
_5 Dec 2022_
- ✨ Improves the 'build options' log output that's printed at the start of each run (#1352)
- ✨ Added a friendly error message to a common misconfiguration of the `CIBW_TEST_COMMAND` option - not specifying path using the `{project}` placeholder (#1336)
- 🛠 The GitHub Action now uses Powershell on Windows to avoid occasional incompabilities with bash (#1346)
<!-- END bin/update_readme_changelog.py --> <!-- END bin/update_readme_changelog.py -->
--- ---
+2 -8
View File
@@ -5,7 +5,6 @@ from __future__ import annotations
import copy import copy
import difflib import difflib
import logging import logging
import sys
from collections.abc import Mapping, MutableMapping from collections.abc import Mapping, MutableMapping
from pathlib import Path from pathlib import Path
from typing import Any, Union from typing import Any, Union
@@ -13,19 +12,14 @@ from typing import Any, Union
import click import click
import requests import requests
import rich import rich
if sys.version_info >= (3, 11):
import tomllib
else:
import tomli as tomllib
from packaging.specifiers import Specifier from packaging.specifiers import Specifier
from packaging.version import Version from packaging.version import Version
from rich.logging import RichHandler from rich.logging import RichHandler
from rich.syntax import Syntax from rich.syntax import Syntax
from cibuildwheel._compat import tomllib
from cibuildwheel._compat.typing import Final, Literal, TypedDict
from cibuildwheel.extra import dump_python_configurations from cibuildwheel.extra import dump_python_configurations
from cibuildwheel.typing import Final, Literal, TypedDict
log = logging.getLogger("cibw") log = logging.getLogger("cibw")
+2 -8
View File
@@ -5,23 +5,17 @@ from __future__ import annotations
import difflib import difflib
import logging import logging
import subprocess import subprocess
import sys
from dataclasses import dataclass from dataclasses import dataclass
from pathlib import Path from pathlib import Path
import click import click
import rich import rich
if sys.version_info >= (3, 11):
import tomllib
else:
import tomli as tomllib
from packaging.version import InvalidVersion, Version from packaging.version import InvalidVersion, Version
from rich.logging import RichHandler from rich.logging import RichHandler
from rich.syntax import Syntax from rich.syntax import Syntax
from cibuildwheel.typing import Final from cibuildwheel._compat import tomllib
from cibuildwheel._compat.typing import Final
log = logging.getLogger("cibw") log = logging.getLogger("cibw")
+1 -1
View File
@@ -1,3 +1,3 @@
from __future__ import annotations from __future__ import annotations
__version__ = "2.12.2" __version__ = "2.12.3"
+3 -7
View File
@@ -16,15 +16,11 @@ import cibuildwheel.linux
import cibuildwheel.macos import cibuildwheel.macos
import cibuildwheel.util import cibuildwheel.util
import cibuildwheel.windows import cibuildwheel.windows
from cibuildwheel._compat.typing import Protocol, assert_never
from cibuildwheel.architecture import Architecture, allowed_architectures_check from cibuildwheel.architecture import Architecture, allowed_architectures_check
from cibuildwheel.logger import log from cibuildwheel.logger import log
from cibuildwheel.options import CommandLineArguments, Options, compute_options from cibuildwheel.options import CommandLineArguments, Options, compute_options
from cibuildwheel.typing import ( from cibuildwheel.typing import PLATFORMS, GenericPythonConfiguration, PlatformName
PLATFORMS,
GenericPythonConfiguration,
PlatformName,
assert_never,
)
from cibuildwheel.util import ( from cibuildwheel.util import (
CIBW_CACHE_PATH, CIBW_CACHE_PATH,
BuildSelector, BuildSelector,
@@ -244,7 +240,7 @@ def _compute_platform(args: CommandLineArguments) -> PlatformName:
return _compute_platform_ci() return _compute_platform_ci()
class PlatformModule(typing.Protocol): class PlatformModule(Protocol):
# note that as per PEP544, the self argument is ignored when the protocol # note that as per PEP544, the self argument is ignored when the protocol
# is applied to a module # is applied to a module
def get_python_configurations( def get_python_configurations(
+1
View File
@@ -0,0 +1 @@
from __future__ import annotations
+10
View File
@@ -0,0 +1,10 @@
from __future__ import annotations
import sys
if sys.version_info >= (3, 8):
from functools import cached_property
else:
from ._functools_cached_property_38 import cached_property
__all__ = ("cached_property",)
+10
View File
@@ -0,0 +1,10 @@
from __future__ import annotations
import sys
if sys.version_info >= (3, 11):
from tomllib import load # noqa: TID251
else:
from tomli import load # noqa: TID251
__all__ = ("load",)
+24
View File
@@ -0,0 +1,24 @@
from __future__ import annotations
import sys
if sys.version_info < (3, 8):
from typing_extensions import Final, Literal, OrderedDict, Protocol, TypedDict
else:
from typing import Final, Literal, OrderedDict, Protocol, TypedDict # noqa: TID251
if sys.version_info < (3, 11):
from typing_extensions import NotRequired, assert_never
else:
from typing import NotRequired, assert_never # noqa: TID251
__all__ = (
"Final",
"Literal",
"Protocol",
"Protocol",
"TypedDict",
"OrderedDict",
"assert_never",
"NotRequired",
)
+2 -1
View File
@@ -7,7 +7,8 @@ import sys
from collections.abc import Set from collections.abc import Set
from enum import Enum from enum import Enum
from .typing import Final, Literal, PlatformName, assert_never from ._compat.typing import Final, Literal, assert_never
from .typing import PlatformName
PRETTY_NAMES: Final = {"linux": "Linux", "macos": "macOS", "windows": "Windows"} PRETTY_NAMES: Final = {"linux": "Linux", "macos": "macOS", "windows": "Windows"}
+1 -2
View File
@@ -7,9 +7,8 @@ from typing import Any
import bashlex import bashlex
import bashlex.errors import bashlex.errors
from cibuildwheel.typing import Protocol
from . import bashlex_eval from . import bashlex_eval
from ._compat.typing import Protocol
class EnvironmentParseError(Exception): class EnvironmentParseError(Exception):
+1 -1
View File
@@ -7,7 +7,7 @@ from __future__ import annotations
from collections.abc import Mapping, Sequence from collections.abc import Mapping, Sequence
from io import StringIO from io import StringIO
from .typing import Protocol from ._compat.typing import Protocol
__all__ = ("Printable", "dump_python_configurations") __all__ = ("Printable", "dump_python_configurations")
+2 -1
View File
@@ -8,11 +8,12 @@ from dataclasses import dataclass
from pathlib import Path, PurePath, PurePosixPath from pathlib import Path, PurePath, PurePosixPath
from typing import Tuple from typing import Tuple
from ._compat.typing import OrderedDict, assert_never
from .architecture import Architecture from .architecture import Architecture
from .logger import log from .logger import log
from .oci_container import OCIContainer from .oci_container import OCIContainer
from .options import Options from .options import Options
from .typing import OrderedDict, PathOrStr, assert_never from .typing import PathOrStr
from .util import ( from .util import (
AlreadyBuiltWheelError, AlreadyBuiltWheelError,
BuildSelector, BuildSelector,
+2 -2
View File
@@ -7,8 +7,8 @@ import sys
import time import time
from typing import IO, AnyStr from typing import IO, AnyStr
from cibuildwheel.typing import Final from ._compat.typing import Final
from cibuildwheel.util import CIProvider, detect_ci_provider from .util import CIProvider, detect_ci_provider
DEFAULT_FOLD_PATTERN: Final = ("{name}", "") DEFAULT_FOLD_PATTERN: Final = ("{name}", "")
FOLD_PATTERNS: Final = { FOLD_PATTERNS: Final = {
+2 -1
View File
@@ -16,11 +16,12 @@ from typing import Tuple
from filelock import FileLock from filelock import FileLock
from ._compat.typing import Literal, assert_never
from .architecture import Architecture from .architecture import Architecture
from .environment import ParsedEnvironment from .environment import ParsedEnvironment
from .logger import log from .logger import log
from .options import Options from .options import Options
from .typing import Literal, PathOrStr, assert_never from .typing import PathOrStr
from .util import ( from .util import (
CIBW_CACHE_PATH, CIBW_CACHE_PATH,
AlreadyBuiltWheelError, AlreadyBuiltWheelError,
+3 -3
View File
@@ -15,9 +15,9 @@ from pathlib import Path, PurePath, PurePosixPath
from types import TracebackType from types import TracebackType
from typing import IO, Dict from typing import IO, Dict
from cibuildwheel.util import CIProvider, detect_ci_provider from ._compat.typing import Literal
from .typing import PathOrStr, PopenBytes
from .typing import Literal, PathOrStr, PopenBytes from .util import CIProvider, detect_ci_provider
ContainerEngine = Literal["docker", "podman"] ContainerEngine = Literal["docker", "podman"]
+3 -6
View File
@@ -15,19 +15,16 @@ from collections.abc import Callable, Generator, Iterable, Iterator, Mapping, Se
from pathlib import Path from pathlib import Path
from typing import Any, Dict, List, Union from typing import Any, Dict, List, Union
if sys.version_info >= (3, 11):
import tomllib
else:
import tomli as tomllib
from packaging.specifiers import SpecifierSet from packaging.specifiers import SpecifierSet
from ._compat import tomllib
from ._compat.typing import Literal, NotRequired, TypedDict
from .architecture import Architecture from .architecture import Architecture
from .environment import EnvironmentParseError, ParsedEnvironment, parse_environment from .environment import EnvironmentParseError, ParsedEnvironment, parse_environment
from .logger import log from .logger import log
from .oci_container import ContainerEngine from .oci_container import ContainerEngine
from .projectfiles import get_requires_python_str from .projectfiles import get_requires_python_str
from .typing import PLATFORMS, Literal, NotRequired, PlatformName, TypedDict from .typing import PLATFORMS, PlatformName
from .util import ( from .util import (
MANYLINUX_ARCHS, MANYLINUX_ARCHS,
MUSLLINUX_ARCHS, MUSLLINUX_ARCHS,
+1 -4
View File
@@ -7,10 +7,7 @@ import sys
from pathlib import Path from pathlib import Path
from typing import Any from typing import Any
if sys.version_info >= (3, 11): from ._compat import tomllib
import tomllib
else:
import tomli as tomllib
if sys.version_info < (3, 8): if sys.version_info < (3, 8):
Constant = ast.Str Constant = ast.Str
+4 -20
View File
@@ -2,37 +2,21 @@ from __future__ import annotations
import os import os
import subprocess import subprocess
import sys import typing
from typing import TYPE_CHECKING, Union from typing import Union
if sys.version_info < (3, 8): from ._compat.typing import Final, Literal, Protocol
from typing_extensions import Final, Literal, OrderedDict, Protocol, TypedDict
else:
from typing import Final, Literal, OrderedDict, Protocol, TypedDict
if sys.version_info < (3, 11):
from typing_extensions import NotRequired, assert_never
else:
from typing import NotRequired, assert_never
__all__ = ( __all__ = (
"Final",
"Literal",
"PLATFORMS", "PLATFORMS",
"PathOrStr", "PathOrStr",
"PlatformName", "PlatformName",
"Protocol",
"PLATFORMS", "PLATFORMS",
"PopenBytes", "PopenBytes",
"Protocol",
"TypedDict",
"OrderedDict",
"assert_never",
"NotRequired",
) )
if TYPE_CHECKING: if typing.TYPE_CHECKING:
PopenBytes = subprocess.Popen[bytes] PopenBytes = subprocess.Popen[bytes]
PathOrStr = Union[str, os.PathLike[str]] PathOrStr = Union[str, os.PathLike[str]]
else: else:
+4 -13
View File
@@ -23,12 +23,6 @@ from typing import Any, ClassVar, TextIO, TypeVar
import bracex import bracex
import certifi import certifi
if sys.version_info >= (3, 11):
import tomllib
else:
import tomli as tomllib
from filelock import FileLock from filelock import FileLock
from packaging.requirements import InvalidRequirement, Requirement from packaging.requirements import InvalidRequirement, Requirement
from packaging.specifiers import SpecifierSet from packaging.specifiers import SpecifierSet
@@ -36,7 +30,10 @@ from packaging.utils import parse_wheel_filename
from packaging.version import Version from packaging.version import Version
from platformdirs import user_cache_path from platformdirs import user_cache_path
from cibuildwheel.typing import Final, Literal, PathOrStr, PlatformName from ._compat import tomllib
from ._compat.functools import cached_property
from ._compat.typing import Final, Literal
from .typing import PathOrStr, PlatformName
__all__ = [ __all__ = [
"resources_dir", "resources_dir",
@@ -661,12 +658,6 @@ def find_compatible_wheel(wheels: Sequence[T], identifier: str) -> T | None:
return None return None
if sys.version_info >= (3, 8):
from functools import cached_property
else:
from .functools_cached_property_38 import cached_property
# Can be replaced by contextlib.chdir in Python 3.11 # Can be replaced by contextlib.chdir in Python 3.11
@contextlib.contextmanager @contextlib.contextmanager
def chdir(new_path: Path | str) -> Generator[None, None, None]: def chdir(new_path: Path | str) -> Generator[None, None, None]:
+2 -1
View File
@@ -16,11 +16,12 @@ from zipfile import ZipFile
from filelock import FileLock from filelock import FileLock
from packaging.version import Version from packaging.version import Version
from ._compat.typing import assert_never
from .architecture import Architecture from .architecture import Architecture
from .environment import ParsedEnvironment from .environment import ParsedEnvironment
from .logger import log from .logger import log
from .options import Options from .options import Options
from .typing import PathOrStr, assert_never from .typing import PathOrStr
from .util import ( from .util import (
CIBW_CACHE_PATH, CIBW_CACHE_PATH,
AlreadyBuiltWheelError, AlreadyBuiltWheelError,
+6
View File
@@ -4,6 +4,12 @@ title: Changelog
# Changelog # Changelog
### v2.12.3
_19 April 2023_
- 🐛 Fix an import error when running on Python 3.7. (#1479)
### v2.12.2 ### v2.12.2
_18 April 2023_ _18 April 2023_
+3 -3
View File
@@ -145,7 +145,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: If you use GitHub Actions for builds, you can use cibuildwheel as an action:
```yaml ```yaml
uses: pypa/cibuildwheel@v2.12.2 uses: pypa/cibuildwheel@v2.12.3
``` ```
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. 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.
@@ -167,7 +167,7 @@ The second option, and the only one that supports other CI systems, is using a `
```bash ```bash
# requirements-cibw.txt # requirements-cibw.txt
cibuildwheel==2.12.2 cibuildwheel==2.12.3
``` ```
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: 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:
@@ -311,7 +311,7 @@ Solutions to this vary, but the simplest is to use pipx:
# most runners have pipx preinstalled, but in case you don't # most runners have pipx preinstalled, but in case you don't
python3 -m pip install pipx python3 -m pip install pipx
pipx run cibuildwheel==2.12.2 --output-dir wheelhouse pipx run cibuildwheel==2.12.3 --output-dir wheelhouse
pipx run twine upload wheelhouse/*.whl pipx run twine upload wheelhouse/*.whl
``` ```
+7 -7
View File
@@ -92,8 +92,8 @@ Options have the same names as the environment variable overrides, but are
placed in `[tool.cibuildwheel]` and are lower case, with dashes, following placed in `[tool.cibuildwheel]` and are lower case, with dashes, following
common [TOML][] practice. Anything placed in subsections `linux`, `windows`, common [TOML][] practice. Anything placed in subsections `linux`, `windows`,
or `macos` will only affect those platforms. Lists can be used instead of or `macos` will only affect those platforms. Lists can be used instead of
strings for items that are natually a list. Multiline strings also work just strings for items that are naturally a list. Multiline strings also work just
like in in the environment variables. Environment variables will take like in the environment variables. Environment variables will take
precedence if defined. precedence if defined.
The example above using environment variables could have been written like this: The example above using environment variables could have been written like this:
@@ -237,7 +237,7 @@ For CPython, the minimally supported macOS version is 10.9; for PyPy 3.7, macOS
Windows arm64 platform support is experimental. Windows arm64 platform support is experimental.
See the [cibuildwheel 1 documentation](https://cibuildwheel.readthedocs.io/en/1.x/) for past end of life versions of Python, and PyPy2.7. See the [cibuildwheel 1 documentation](https://cibuildwheel.readthedocs.io/en/1.x/) for past end-of-life versions of Python, and PyPy2.7.
#### Examples #### Examples
@@ -314,7 +314,7 @@ See the [cibuildwheel 1 documentation](https://cibuildwheel.readthedocs.io/en/1.
It is generally recommended 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 tends to be useful in a config file; you can statically declare that you don't
support pypy, for example. support PyPy, for example.
<style> <style>
.build-id-table-marker + table { .build-id-table-marker + table {
@@ -658,7 +658,7 @@ Platform-specific environment variables are also available:<br/>
### `CIBW_ENVIRONMENT_PASS_LINUX` {: #environment-pass} ### `CIBW_ENVIRONMENT_PASS_LINUX` {: #environment-pass}
> Set environment variables on the host to pass-through to the container during the build. > Set environment variables on the host to pass-through to the container during the build.
A list of environment variables to pass into the linux container during the build. It has no affect on the other platforms, which can already access all environment variables directly. A list of environment variables to pass into the linux container during the build. It has no effect on the other platforms, which can already access all environment variables directly.
To specify more than one environment variable, separate the variable names by spaces. To specify more than one environment variable, separate the variable names by spaces.
@@ -1216,7 +1216,7 @@ Platform-specific environment variables are also available:<br/>
!!! note !!! note
It's isn't recommended to `cd` to your project directory before running tests, It isn't recommended to `cd` to your project directory before running tests,
because Python might resolve `import yourpackage` relative to the working dir, because Python might resolve `import yourpackage` relative to the working dir,
and we want to test the wheel you just built. However, if you're sure that's not and we want to test the wheel you just built. However, if you're sure that's not
an issue for you and your workflow requires it, on Windows you should do `cd /d`, an issue for you and your workflow requires it, on Windows you should do `cd /d`,
@@ -1393,7 +1393,7 @@ This option is not supported in the overrides section in `pyproject.toml`.
### `CIBW_BUILD_VERBOSITY` {: #build-verbosity} ### `CIBW_BUILD_VERBOSITY` {: #build-verbosity}
> Increase/decrease the output of pip wheel > Increase/decrease the output of pip wheel
An number from 1 to 3 to increase the level of verbosity (corresponding to invoking pip with `-v`, `-vv`, and `-vvv`), between -1 and -3 (`-q`, `-qq`, and `-qqq`), or just 0 (default verbosity). These flags are useful while debugging a build when the output of the actual build invoked by `pip wheel` is required. Has no effect on the `build` backend, which produces verbose output by default. A number from 1 to 3 to increase the level of verbosity (corresponding to invoking pip with `-v`, `-vv`, and `-vvv`), between -1 and -3 (`-q`, `-qq`, and `-qqq`), or just 0 (default verbosity). These flags are useful while debugging a build when the output of the actual build invoked by `pip wheel` is required. Has no effect on the `build` backend, which produces verbose output by default.
Platform-specific environment variables are also available:<br/> Platform-specific environment variables are also available:<br/>
`CIBW_BUILD_VERBOSITY_MACOS` | `CIBW_BUILD_VERBOSITY_WINDOWS` | `CIBW_BUILD_VERBOSITY_LINUX` `CIBW_BUILD_VERBOSITY_MACOS` | `CIBW_BUILD_VERBOSITY_WINDOWS` | `CIBW_BUILD_VERBOSITY_LINUX`
+2 -2
View File
@@ -184,7 +184,7 @@ To build Linux, Mac, and Windows wheels using GitHub Actions, create a `.github/
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- name: Build wheels - name: Build wheels
run: pipx run cibuildwheel==2.12.2 run: pipx run cibuildwheel==2.12.3
- uses: actions/upload-artifact@v3 - uses: actions/upload-artifact@v3
with: with:
@@ -219,7 +219,7 @@ To build Linux, Mac, and Windows wheels using GitHub Actions, create a `.github/
- uses: actions/setup-python@v3 - uses: actions/setup-python@v3
- name: Install cibuildwheel - name: Install cibuildwheel
run: python -m pip install cibuildwheel==2.12.2 run: python -m pip install cibuildwheel==2.12.3
- name: Build wheels - name: Build wheels
run: python -m cibuildwheel --output-dir wheelhouse run: python -m cibuildwheel --output-dir wheelhouse
+1 -1
View File
@@ -12,7 +12,7 @@ stack: python 3.7
init: init:
- cmd: set PATH=C:\Python37;C:\Python37\Scripts;%PATH% - cmd: set PATH=C:\Python37;C:\Python37\Scripts;%PATH%
install: python -m pip install cibuildwheel==2.12.2 install: python -m pip install cibuildwheel==2.12.3
build_script: python -m cibuildwheel --output-dir wheelhouse build_script: python -m cibuildwheel --output-dir wheelhouse
+3 -3
View File
@@ -6,7 +6,7 @@ jobs:
- bash: | - bash: |
set -o errexit set -o errexit
python3 -m pip install --upgrade pip python3 -m pip install --upgrade pip
pip3 install cibuildwheel==2.12.2 pip3 install cibuildwheel==2.12.3
displayName: Install dependencies displayName: Install dependencies
- bash: cibuildwheel --output-dir wheelhouse . - bash: cibuildwheel --output-dir wheelhouse .
displayName: Build wheels displayName: Build wheels
@@ -20,7 +20,7 @@ jobs:
- bash: | - bash: |
set -o errexit set -o errexit
python3 -m pip install --upgrade pip python3 -m pip install --upgrade pip
python3 -m pip install cibuildwheel==2.12.2 python3 -m pip install cibuildwheel==2.12.3
displayName: Install dependencies displayName: Install dependencies
- bash: cibuildwheel --output-dir wheelhouse . - bash: cibuildwheel --output-dir wheelhouse .
displayName: Build wheels displayName: Build wheels
@@ -34,7 +34,7 @@ jobs:
- bash: | - bash: |
set -o errexit set -o errexit
python -m pip install --upgrade pip python -m pip install --upgrade pip
pip install cibuildwheel==2.12.2 pip install cibuildwheel==2.12.3
displayName: Install dependencies displayName: Install dependencies
- bash: cibuildwheel --output-dir wheelhouse . - bash: cibuildwheel --output-dir wheelhouse .
displayName: Build wheels displayName: Build wheels
+3 -3
View File
@@ -11,7 +11,7 @@ jobs:
- run: - run:
name: Build the Linux wheels. name: Build the Linux wheels.
command: | command: |
pip3 install --user cibuildwheel==2.12.2 pip3 install --user cibuildwheel==2.12.3
cibuildwheel --output-dir wheelhouse cibuildwheel --output-dir wheelhouse
- store_artifacts: - store_artifacts:
path: wheelhouse/ path: wheelhouse/
@@ -28,7 +28,7 @@ jobs:
- run: - run:
name: Build the Linux aarch64 wheels. name: Build the Linux aarch64 wheels.
command: | command: |
python3 -m pip install --user cibuildwheel==2.12.2 python3 -m pip install --user cibuildwheel==2.12.3
python3 -m cibuildwheel --output-dir wheelhouse python3 -m cibuildwheel --output-dir wheelhouse
- store_artifacts: - store_artifacts:
path: wheelhouse/ path: wheelhouse/
@@ -42,7 +42,7 @@ jobs:
- run: - run:
name: Build the OS X wheels. name: Build the OS X wheels.
command: | command: |
pip3 install cibuildwheel==2.12.2 pip3 install cibuildwheel==2.12.3
cibuildwheel --output-dir wheelhouse cibuildwheel --output-dir wheelhouse
- store_artifacts: - store_artifacts:
path: wheelhouse/ path: wheelhouse/
+1 -1
View File
@@ -1,6 +1,6 @@
build_and_store_wheels: &BUILD_AND_STORE_WHEELS build_and_store_wheels: &BUILD_AND_STORE_WHEELS
install_cibuildwheel_script: install_cibuildwheel_script:
- python -m pip install cibuildwheel==2.12.2 - python -m pip install cibuildwheel==2.12.3
run_cibuildwheel_script: run_cibuildwheel_script:
- cibuildwheel - cibuildwheel
wheels_artifacts: wheels_artifacts:
+1 -1
View File
@@ -1,6 +1,6 @@
build_and_store_wheels: &BUILD_AND_STORE_WHEELS build_and_store_wheels: &BUILD_AND_STORE_WHEELS
install_cibuildwheel_script: install_cibuildwheel_script:
- python -m pip install cibuildwheel==2.12.2 - python -m pip install cibuildwheel==2.12.3
run_cibuildwheel_script: run_cibuildwheel_script:
- cibuildwheel - cibuildwheel
wheels_artifacts: wheels_artifacts:
+1 -1
View File
@@ -10,7 +10,7 @@ jobs:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- name: Build wheels - name: Build wheels
uses: pypa/cibuildwheel@v2.12.2 uses: pypa/cibuildwheel@v2.12.3
env: env:
CIBW_ARCHS_MACOS: x86_64 arm64 CIBW_ARCHS_MACOS: x86_64 arm64
+1 -1
View File
@@ -22,7 +22,7 @@ jobs:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- name: Build wheels - name: Build wheels
uses: pypa/cibuildwheel@v2.12.2 uses: pypa/cibuildwheel@v2.12.3
- uses: actions/upload-artifact@v3 - uses: actions/upload-artifact@v3
with: with:
+1 -1
View File
@@ -14,7 +14,7 @@ jobs:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- name: Build wheels - name: Build wheels
uses: pypa/cibuildwheel@v2.12.2 uses: pypa/cibuildwheel@v2.12.3
# env: # env:
# CIBW_SOME_OPTION: value # CIBW_SOME_OPTION: value
# ... # ...
+1 -1
View File
@@ -20,7 +20,7 @@ jobs:
platforms: all platforms: all
- name: Build wheels - name: Build wheels
uses: pypa/cibuildwheel@v2.12.2 uses: pypa/cibuildwheel@v2.12.3
env: env:
# configure cibuildwheel to build native archs ('auto'), and some # configure cibuildwheel to build native archs ('auto'), and some
# emulated ones # emulated ones
+2 -2
View File
@@ -12,7 +12,7 @@ linux:
DOCKER_TLS_CERTDIR: "" DOCKER_TLS_CERTDIR: ""
script: script:
- curl -sSL https://get.docker.com/ | sh - curl -sSL https://get.docker.com/ | sh
- python -m pip install cibuildwheel==2.12.2 - python -m pip install cibuildwheel==2.12.3
- cibuildwheel --output-dir wheelhouse - cibuildwheel --output-dir wheelhouse
artifacts: artifacts:
paths: paths:
@@ -23,7 +23,7 @@ windows:
before_script: before_script:
- choco install python -y --version 3.8.6 - choco install python -y --version 3.8.6
- choco install git.install -y - choco install git.install -y
- py -m pip install cibuildwheel==2.12.2 - py -m pip install cibuildwheel==2.12.3
script: script:
- py -m cibuildwheel --output-dir wheelhouse --platform windows - py -m cibuildwheel --output-dir wheelhouse --platform windows
artifacts: artifacts:
+1 -1
View File
@@ -14,7 +14,7 @@ linux:
- curl -sSL https://get.docker.com/ | sh - curl -sSL https://get.docker.com/ | sh
# Warning: This is extremely slow, be careful with how many wheels you build # Warning: This is extremely slow, be careful with how many wheels you build
- docker run --rm --privileged multiarch/qemu-user-static --reset -p yes - docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
- python -m pip install cibuildwheel==2.12.2 - python -m pip install cibuildwheel==2.12.3
# Assuming your CI runner's default architecture is x86_64... # Assuming your CI runner's default architecture is x86_64...
- cibuildwheel --output-dir wheelhouse --platform linux --archs aarch64 - cibuildwheel --output-dir wheelhouse --platform linux --archs aarch64
artifacts: artifacts:
+1 -1
View File
@@ -20,7 +20,7 @@ jobs:
- ln -s /c/Python38/python.exe /c/Python38/python3.exe - ln -s /c/Python38/python.exe /c/Python38/python3.exe
install: install:
- python3 -m pip install cibuildwheel==2.12.2 - python3 -m pip install cibuildwheel==2.12.3
script: script:
# build the wheels, put them into './dist' # build the wheels, put them into './dist'
+1 -1
View File
@@ -26,7 +26,7 @@ jobs:
- ln -s /c/Python38/python.exe /c/Python38/python3.exe - ln -s /c/Python38/python.exe /c/Python38/python3.exe
install: install:
- python3 -m pip install cibuildwheel==2.12.2 - python3 -m pip install cibuildwheel==2.12.3
script: script:
# build the wheels, put them into './wheelhouse' # build the wheels, put them into './wheelhouse'
+2 -2
View File
@@ -54,7 +54,7 @@ jobs:
- stage: deploy - stage: deploy
name: Build and deploy Linux wheels name: Build and deploy Linux wheels
services: docker services: docker
install: python3 -m pip install cibuildwheel==2.12.2 twine install: python3 -m pip install cibuildwheel==2.12.3 twine
script: python3 -m cibuildwheel --output-dir wheelhouse script: python3 -m cibuildwheel --output-dir wheelhouse
after_success: python3 -m twine upload --skip-existing wheelhouse/*.whl after_success: python3 -m twine upload --skip-existing wheelhouse/*.whl
# Deploy on windows # Deploy on windows
@@ -62,7 +62,7 @@ jobs:
name: Build and deploy Windows wheels name: Build and deploy Windows wheels
os: windows os: windows
language: shell language: shell
install: python3 -m pip install cibuildwheel==2.12.2 twine install: python3 -m pip install cibuildwheel==2.12.3 twine
script: python3 -m cibuildwheel --output-dir wheelhouse script: python3 -m cibuildwheel --output-dir wheelhouse
after_success: python3 -m twine upload --skip-existing wheelhouse/*.whl after_success: python3 -m twine upload --skip-existing wheelhouse/*.whl
+10 -1
View File
@@ -149,7 +149,7 @@ extend-ignore = [
"PT007", # False positive (fixed upstream) "PT007", # False positive (fixed upstream)
] ]
target-version = "py37" target-version = "py37"
typing-modules = ["cibuildwheel.typing"] typing-modules = ["cibuildwheel._compat.typing"]
flake8-unused-arguments.ignore-variadic-names = true flake8-unused-arguments.ignore-variadic-names = true
[tool.ruff.flake8-tidy-imports.banned-api] [tool.ruff.flake8-tidy-imports.banned-api]
@@ -158,6 +158,15 @@ flake8-unused-arguments.ignore-variadic-names = true
"typing.Iterator".msg = "Use collections.abc.Iterator instead." "typing.Iterator".msg = "Use collections.abc.Iterator instead."
"typing.Sequence".msg = "Use collections.abc.Sequence instead." "typing.Sequence".msg = "Use collections.abc.Sequence instead."
"typing.Set".msg = "Use collections.abc.Set instead." "typing.Set".msg = "Use collections.abc.Set instead."
"typing.Protocol".msg = "Use cibuildwheel._compat.typing.Protocol instead."
"typing.Final".msg = "Use cibuildwheel._compat.typing.Final instead."
"typing.Literal".msg = "Use cibuildwheel._compat.typing.Literal instead."
"typing.OrderedDict".msg = "Use cibuildwheel._compat.typing.OrderedDict instead."
"typing.TypedDict".msg = "Use cibuildwheel._compat.typing.TypedDict instead."
"typing.NotRequired".msg = "Use cibuildwheel._compat.typing.NotRequired instead."
"typing.assert_never".msg = "Use cibuildwheel._compat.typing.assert_never instead."
"tomllib".msg = "Use cibuildwheel._compat.tomllib instead."
"tomli".msg = "Use cibuildwheel._compat.tomllib instead."
[tool.ruff.per-file-ignores] [tool.ruff.per-file-ignores]
"unit_test/*" = ["PLC1901"] "unit_test/*" = ["PLC1901"]
+1 -1
View File
@@ -1,6 +1,6 @@
[metadata] [metadata]
name = cibuildwheel name = cibuildwheel
version = 2.12.2 version = 2.12.3
description = Build Python wheels on CI with minimal configuration. description = Build Python wheels on CI with minimal configuration.
long_description = file: README.md long_description = file: README.md
long_description_content_type = text/markdown long_description_content_type = text/markdown
+1 -7
View File
@@ -1,14 +1,8 @@
from __future__ import annotations from __future__ import annotations
import sys
if sys.version_info >= (3, 11):
import tomllib
else:
import tomli as tomllib
from packaging.version import Version from packaging.version import Version
from cibuildwheel._compat import tomllib
from cibuildwheel.extra import Printable, dump_python_configurations from cibuildwheel.extra import Printable, dump_python_configurations
from cibuildwheel.util import resources_dir from cibuildwheel.util import resources_dir
+1 -5
View File
@@ -6,12 +6,8 @@ from pathlib import Path
import pytest import pytest
if sys.version_info >= (3, 11):
import tomllib
else:
import tomli as tomllib
from cibuildwheel.__main__ import main from cibuildwheel.__main__ import main
from cibuildwheel._compat import tomllib
from cibuildwheel.environment import ParsedEnvironment from cibuildwheel.environment import ParsedEnvironment
from cibuildwheel.options import BuildOptions, _get_pinned_container_images from cibuildwheel.options import BuildOptions, _get_pinned_container_images
from cibuildwheel.util import BuildSelector, resources_dir, split_config_settings from cibuildwheel.util import BuildSelector, resources_dir, split_config_settings