feat: use python3.11+ for cibuildwheel driver (#1912)

* chore: use SPEC 0 schedule for cibuildwheel

* remove support for {python} and {pip} in commands

* Remove specific Python versions from the update-dependencies job

The requirements pinning is done by uv now, so we don't need to
run the versions of Python to do the pinning anymore.

---------

Co-authored-by: Joe Rickerby <joerick@mac.com>
This commit is contained in:
Matthieu Darbois
2025-01-16 10:45:18 -05:00
committed by GitHub
co-authored by Joe Rickerby
parent 1608f7567e
commit a96545b729
33 changed files with 117 additions and 166 deletions
+8 -9
View File
@@ -9,15 +9,14 @@ import enum
import functools
import shlex
import textwrap
from collections.abc import Callable, Generator, Iterable, Set
import tomllib
from collections.abc import Callable, Generator, Iterable, Mapping, Sequence, Set
from pathlib import Path
from typing import Any, Literal, Mapping, Sequence, Union # noqa: TID251
from typing import Any, Literal, assert_never
from packaging.specifiers import SpecifierSet
from . import errors
from ._compat import tomllib
from ._compat.typing import assert_never
from .architecture import Architecture
from .environment import EnvironmentParseError, ParsedEnvironment, parse_environment
from .logger import log
@@ -122,10 +121,10 @@ class BuildOptions:
return self.globals.architectures
SettingLeaf = Union[str, int, bool]
SettingLeaf = str | int | bool
SettingList = Sequence[SettingLeaf]
SettingTable = Mapping[str, Union[SettingLeaf, SettingList]]
SettingValue = Union[SettingTable, SettingList, SettingLeaf]
SettingTable = Mapping[str, SettingLeaf | SettingList]
SettingValue = SettingTable | SettingList | SettingLeaf
@dataclasses.dataclass(frozen=True)
@@ -361,7 +360,7 @@ def _stringify_setting(
msg = f"Error converting {setting!r} to a string: this setting doesn't accept a list"
raise OptionsReaderError(msg) from None
if isinstance(setting, (bool, int)):
if isinstance(setting, bool | int):
return str(setting)
return setting
@@ -984,7 +983,7 @@ def compute_options(
return options
@functools.lru_cache(maxsize=None)
@functools.cache
def _get_pinned_container_images() -> Mapping[str, Mapping[str, str]]:
"""
This looks like a dict of dicts, e.g.