Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 8 additions & 3 deletions lib/ts_utils/metadata.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,19 @@
import datetime
import functools
import re
import sys
import urllib.parse
from collections.abc import Mapping
from dataclasses import dataclass
from pathlib import Path
from typing import Annotated, Any, Final, NamedTuple, final
from typing_extensions import TypeGuard

import tomli
if sys.version_info >= (3, 11):
import tomllib
else:
import tomli as tomllib

import tomlkit
from packaging.requirements import Requirement
from packaging.specifiers import Specifier
Expand Down Expand Up @@ -52,7 +57,7 @@ def _is_nested_dict(obj: object) -> TypeGuard[dict[str, dict[str, Any]]]:
@functools.cache
def get_oldest_supported_python() -> str:
with PYPROJECT_PATH.open("rb") as config:
val = tomli.load(config)["tool"]["typeshed"]["oldest_supported_python"]
val = tomllib.load(config)["tool"]["typeshed"]["oldest_supported_python"]
assert type(val) is str
return val

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

skip: object = data.get("skip", False)
apt_dependencies: object = data.get("apt_dependencies", [])
Expand Down
8 changes: 6 additions & 2 deletions lib/ts_utils/mypy.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
from __future__ import annotations

import sys
from collections.abc import Generator, Iterable
from contextlib import contextmanager
from typing import Any, NamedTuple

import tomli
if sys.version_info >= (3, 11):
import tomllib
else:
import tomli as tomllib

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

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

# TODO: This could be added to ts_utils.metadata
mypy_tests_conf: dict[str, dict[str, Any]] = data.get("mypy-tests", {})
Expand Down
2 changes: 1 addition & 1 deletion requirements-tests.txt
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ ruff==0.12.2
# TODO (2025-05-07): Dependency libcst doesn't support Python 3.14 yet.
stubdefaulter==0.1.0; python_version < "3.14"
termcolor>=2.3
tomli==2.2.1
tomli==2.2.1; python_version < "3.11"
tomlkit==0.13.3
typing_extensions>=4.14.0rc1
uv==0.7.19
Expand Down
8 changes: 6 additions & 2 deletions scripts/stubsabot.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,13 @@
from typing import Annotated, Any, ClassVar, NamedTuple, TypeVar
from typing_extensions import Self, TypeAlias

if sys.version_info >= (3, 11):
import tomllib
else:
import tomli as tomllib

import aiohttp
import packaging.version
import tomli
import tomlkit
from packaging.specifiers import Specifier
from termcolor import colored
Expand Down Expand Up @@ -536,7 +540,7 @@ def parse_no_longer_updated_from_archive(source: zipfile.ZipFile | tarfile.TarFi
return False

with file as f:
toml_data: dict[str, object] = tomli.load(f)
toml_data: dict[str, object] = tomllib.load(f)

no_longer_updated = toml_data.get("no_longer_updated", False)
assert type(no_longer_updated) is bool
Expand Down
Loading