Skip to content

Commit aff6dd5

Browse files
committed
refactor: tomllib in _compat
Signed-off-by: Henry Schreiner <[email protected]>
1 parent 31bd9c9 commit aff6dd5

File tree

9 files changed

+20
-42
lines changed

9 files changed

+20
-42
lines changed

bin/update_pythons.py

+1-7
Original file line numberDiff line numberDiff line change
@@ -5,25 +5,19 @@
55
import copy
66
import difflib
77
import logging
8-
import sys
98
from collections.abc import Mapping, MutableMapping
109
from pathlib import Path
1110
from typing import Any, Union
1211

1312
import click
1413
import requests
1514
import rich
16-
17-
if sys.version_info >= (3, 11):
18-
import tomllib
19-
else:
20-
import tomli as tomllib
21-
2215
from packaging.specifiers import Specifier
2316
from packaging.version import Version
2417
from rich.logging import RichHandler
2518
from rich.syntax import Syntax
2619

20+
from cibuildwheel._compat import tomllib
2721
from cibuildwheel._compat.typing import Final, Literal, TypedDict
2822
from cibuildwheel.extra import dump_python_configurations
2923

bin/update_virtualenv.py

+1-7
Original file line numberDiff line numberDiff line change
@@ -5,22 +5,16 @@
55
import difflib
66
import logging
77
import subprocess
8-
import sys
98
from dataclasses import dataclass
109
from pathlib import Path
1110

1211
import click
1312
import rich
14-
15-
if sys.version_info >= (3, 11):
16-
import tomllib
17-
else:
18-
import tomli as tomllib
19-
2013
from packaging.version import InvalidVersion, Version
2114
from rich.logging import RichHandler
2215
from rich.syntax import Syntax
2316

17+
from cibuildwheel._compat import tomllib
2418
from cibuildwheel._compat.typing import Final
2519

2620
log = logging.getLogger("cibw")

cibuildwheel/_compat/tomllib.py

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
from __future__ import annotations
2+
3+
import sys
4+
5+
if sys.version_info >= (3, 11):
6+
from tomllib import load # noqa: TID251
7+
else:
8+
from tomli import load # noqa: TID251
9+
10+
__all__ = ("load",)

cibuildwheel/options.py

+1-5
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,9 @@
1515
from pathlib import Path
1616
from typing import Any, Dict, List, Union
1717

18-
if sys.version_info >= (3, 11):
19-
import tomllib
20-
else:
21-
import tomli as tomllib
22-
2318
from packaging.specifiers import SpecifierSet
2419

20+
from ._compat import tomllib
2521
from ._compat.typing import Literal, NotRequired, TypedDict
2622
from .architecture import Architecture
2723
from .environment import EnvironmentParseError, ParsedEnvironment, parse_environment

cibuildwheel/projectfiles.py

+1-4
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,7 @@
77
from pathlib import Path
88
from typing import Any
99

10-
if sys.version_info >= (3, 11):
11-
import tomllib
12-
else:
13-
import tomli as tomllib
10+
from ._compat import tomllib
1411

1512
if sys.version_info < (3, 8):
1613
Constant = ast.Str

cibuildwheel/util.py

+1-6
Original file line numberDiff line numberDiff line change
@@ -23,19 +23,14 @@
2323

2424
import bracex
2525
import certifi
26-
27-
if sys.version_info >= (3, 11):
28-
import tomllib
29-
else:
30-
import tomli as tomllib
31-
3226
from filelock import FileLock
3327
from packaging.requirements import InvalidRequirement, Requirement
3428
from packaging.specifiers import SpecifierSet
3529
from packaging.utils import parse_wheel_filename
3630
from packaging.version import Version
3731
from platformdirs import user_cache_path
3832

33+
from ._compat import tomllib
3934
from ._compat.functools import cached_property
4035
from ._compat.typing import Final, Literal
4136
from .typing import PathOrStr, PlatformName

pyproject.toml

+3-1
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,9 @@ flake8-unused-arguments.ignore-variadic-names = true
164164
"typing.OrderedDict".msg = "Use cibuildwheel._compat.typing.OrderedDict instead."
165165
"typing.TypedDict".msg = "Use cibuildwheel._compat.typing.TypedDict instead."
166166
"typing.NotRequired".msg = "Use cibuildwheel._compat.typing.NotRequired instead."
167-
"typing.assert_never".msg = "Use cibuildwhee._compat.typing.assert_never instead."
167+
"typing.assert_never".msg = "Use cibuildwheel._compat.typing.assert_never instead."
168+
"tomllib".msg = "Use cibuildwheel._compat.tomllib instead."
169+
"tomli".msg = "Use cibuildwheel._compat.tomllib instead."
168170

169171
[tool.ruff.per-file-ignores]
170172
"unit_test/*" = ["PLC1901"]

unit_test/build_ids_test.py

+1-7
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,8 @@
11
from __future__ import annotations
22

3-
import sys
4-
5-
if sys.version_info >= (3, 11):
6-
import tomllib
7-
else:
8-
import tomli as tomllib
9-
103
from packaging.version import Version
114

5+
from cibuildwheel._compat import tomllib
126
from cibuildwheel.extra import Printable, dump_python_configurations
137
from cibuildwheel.util import resources_dir
148

unit_test/main_tests/main_options_test.py

+1-5
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,8 @@
66

77
import pytest
88

9-
if sys.version_info >= (3, 11):
10-
import tomllib
11-
else:
12-
import tomli as tomllib
13-
149
from cibuildwheel.__main__ import main
10+
from cibuildwheel._compat import tomllib
1511
from cibuildwheel.environment import ParsedEnvironment
1612
from cibuildwheel.options import BuildOptions, _get_pinned_container_images
1713
from cibuildwheel.util import BuildSelector, resources_dir, split_config_settings

0 commit comments

Comments
 (0)