Skip to content

Commit 9ab7fde

Browse files
prefer newer "tomllib" over "tomli" backport (#14486)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
1 parent 9f13289 commit 9ab7fde

File tree

4 files changed

+21
-8
lines changed

4 files changed

+21
-8
lines changed

lib/ts_utils/metadata.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,19 @@
88
import datetime
99
import functools
1010
import re
11+
import sys
1112
import urllib.parse
1213
from collections.abc import Mapping
1314
from dataclasses import dataclass
1415
from pathlib import Path
1516
from typing import Annotated, Any, Final, NamedTuple, final
1617
from typing_extensions import TypeGuard
1718

18-
import tomli
19+
if sys.version_info >= (3, 11):
20+
import tomllib
21+
else:
22+
import tomli as tomllib
23+
1924
import tomlkit
2025
from packaging.requirements import Requirement
2126
from packaging.specifiers import Specifier
@@ -52,7 +57,7 @@ def _is_nested_dict(obj: object) -> TypeGuard[dict[str, dict[str, Any]]]:
5257
@functools.cache
5358
def get_oldest_supported_python() -> str:
5459
with PYPROJECT_PATH.open("rb") as config:
55-
val = tomli.load(config)["tool"]["typeshed"]["oldest_supported_python"]
60+
val = tomllib.load(config)["tool"]["typeshed"]["oldest_supported_python"]
5661
assert type(val) is str
5762
return val
5863

@@ -92,7 +97,7 @@ def system_requirements_for_platform(self, platform: str) -> list[str]:
9297
def read_stubtest_settings(distribution: str) -> StubtestSettings:
9398
"""Return an object describing the stubtest settings for a single stubs distribution."""
9499
with metadata_path(distribution).open("rb") as f:
95-
data: dict[str, object] = tomli.load(f).get("tool", {}).get("stubtest", {})
100+
data: dict[str, object] = tomllib.load(f).get("tool", {}).get("stubtest", {})
96101

97102
skip: object = data.get("skip", False)
98103
apt_dependencies: object = data.get("apt_dependencies", [])

lib/ts_utils/mypy.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
from __future__ import annotations
22

3+
import sys
34
from collections.abc import Generator, Iterable
45
from contextlib import contextmanager
56
from typing import Any, NamedTuple
67

7-
import tomli
8+
if sys.version_info >= (3, 11):
9+
import tomllib
10+
else:
11+
import tomli as tomllib
812

913
from ts_utils.metadata import StubtestSettings, metadata_path
1014
from ts_utils.utils import NamedTemporaryFile, TemporaryFileWrapper
@@ -26,7 +30,7 @@ class MypyDistConf(NamedTuple):
2630

2731
def mypy_configuration_from_distribution(distribution: str) -> list[MypyDistConf]:
2832
with metadata_path(distribution).open("rb") as f:
29-
data = tomli.load(f)
33+
data = tomllib.load(f)
3034

3135
# TODO: This could be added to ts_utils.metadata
3236
mypy_tests_conf: dict[str, dict[str, Any]] = data.get("mypy-tests", {})

requirements-tests.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ ruff==0.12.2
1919
# TODO (2025-05-07): Dependency libcst doesn't support Python 3.14 yet.
2020
stubdefaulter==0.1.0; python_version < "3.14"
2121
termcolor>=2.3
22-
tomli==2.2.1
22+
tomli==2.2.1; python_version < "3.11"
2323
tomlkit==0.13.3
2424
typing_extensions>=4.14.0rc1
2525
uv==0.7.19

scripts/stubsabot.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,13 @@
2525
from typing import Annotated, Any, ClassVar, NamedTuple, TypeVar
2626
from typing_extensions import Self, TypeAlias
2727

28+
if sys.version_info >= (3, 11):
29+
import tomllib
30+
else:
31+
import tomli as tomllib
32+
2833
import aiohttp
2934
import packaging.version
30-
import tomli
3135
import tomlkit
3236
from packaging.specifiers import Specifier
3337
from termcolor import colored
@@ -536,7 +540,7 @@ def parse_no_longer_updated_from_archive(source: zipfile.ZipFile | tarfile.TarFi
536540
return False
537541

538542
with file as f:
539-
toml_data: dict[str, object] = tomli.load(f)
543+
toml_data: dict[str, object] = tomllib.load(f)
540544

541545
no_longer_updated = toml_data.get("no_longer_updated", False)
542546
assert type(no_longer_updated) is bool

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy