From c98fc0c128e1a79a776b62046acaa28685a31089 Mon Sep 17 00:00:00 2001 From: Matej Aleksandrov Date: Wed, 23 Oct 2024 16:00:55 +0200 Subject: [PATCH] Update deprecated type aliases (#4486) --- gallery/gallery.py | 3 ++- scripts/make_width_table.py | 2 +- src/black/__init__.py | 20 +++++++++----------- src/black/brackets.py | 3 ++- src/black/cache.py | 3 ++- src/black/comments.py | 3 ++- src/black/concurrency.py | 3 ++- src/black/debug.py | 3 ++- src/black/files.py | 13 +++---------- src/black/linegen.py | 3 ++- src/black/lines.py | 3 ++- src/black/nodes.py | 3 ++- src/black/parsing.py | 2 +- src/black/ranges.py | 3 ++- src/black/strings.py | 3 ++- src/black/trans.py | 16 ++-------------- src/blackd/middlewares.py | 2 +- src/blib2to3/pgen2/driver.py | 3 ++- src/blib2to3/pgen2/literals.py | 3 +-- src/blib2to3/pgen2/parse.py | 3 ++- src/blib2to3/pgen2/pgen.py | 3 ++- src/blib2to3/pgen2/tokenize.py | 4 +++- src/blib2to3/pytree.py | 3 ++- tests/test_black.py | 3 ++- tests/test_docs.py | 3 ++- tests/test_format.py | 3 ++- tests/test_ipynb.py | 4 ++-- tests/util.py | 3 ++- 28 files changed, 61 insertions(+), 62 deletions(-) diff --git a/gallery/gallery.py b/gallery/gallery.py index 228cd1cc7e2..00b8a652d24 100755 --- a/gallery/gallery.py +++ b/gallery/gallery.py @@ -7,10 +7,11 @@ import venv import zipfile from argparse import ArgumentParser, Namespace +from collections.abc import Generator from concurrent.futures import ThreadPoolExecutor from functools import lru_cache, partial from pathlib import Path -from typing import Generator, NamedTuple, Optional, Union, cast +from typing import NamedTuple, Optional, Union, cast from urllib.request import urlopen, urlretrieve PYPI_INSTANCE = "https://pypi.org/pypi" diff --git a/scripts/make_width_table.py b/scripts/make_width_table.py index 10c758abc09..2f55a3dfeb5 100644 --- a/scripts/make_width_table.py +++ b/scripts/make_width_table.py @@ -17,8 +17,8 @@ """ import sys +from collections.abc import Iterable from os.path import basename, dirname, join -from typing import Iterable import wcwidth # type: ignore[import-not-found] diff --git a/src/black/__init__.py b/src/black/__init__.py index a94f7fc29a0..5f699452646 100644 --- a/src/black/__init__.py +++ b/src/black/__init__.py @@ -5,24 +5,22 @@ import sys import tokenize import traceback -from contextlib import contextmanager -from dataclasses import replace -from datetime import datetime, timezone -from enum import Enum -from json.decoder import JSONDecodeError -from pathlib import Path -from typing import ( - Any, +from collections.abc import ( Collection, Generator, Iterator, MutableMapping, - Optional, - Pattern, Sequence, Sized, - Union, ) +from contextlib import contextmanager +from dataclasses import replace +from datetime import datetime, timezone +from enum import Enum +from json.decoder import JSONDecodeError +from pathlib import Path +from re import Pattern +from typing import Any, Optional, Union import click from click.core import ParameterSource diff --git a/src/black/brackets.py b/src/black/brackets.py index 4a994a9d5c7..c2e8be4348e 100644 --- a/src/black/brackets.py +++ b/src/black/brackets.py @@ -1,7 +1,8 @@ """Builds on top of nodes.py to track brackets.""" +from collections.abc import Iterable, Sequence from dataclasses import dataclass, field -from typing import Final, Iterable, Optional, Sequence, Union +from typing import Final, Optional, Union from black.nodes import ( BRACKET, diff --git a/src/black/cache.py b/src/black/cache.py index 8811a79d79c..ef9d99a7b90 100644 --- a/src/black/cache.py +++ b/src/black/cache.py @@ -5,9 +5,10 @@ import pickle import sys import tempfile +from collections.abc import Iterable from dataclasses import dataclass, field from pathlib import Path -from typing import Iterable, NamedTuple +from typing import NamedTuple from platformdirs import user_cache_dir diff --git a/src/black/comments.py b/src/black/comments.py index cd37c440290..b7aeca2a6a7 100644 --- a/src/black/comments.py +++ b/src/black/comments.py @@ -1,7 +1,8 @@ import re +from collections.abc import Collection, Iterator from dataclasses import dataclass from functools import lru_cache -from typing import Collection, Final, Iterator, Optional, Union +from typing import Final, Optional, Union from black.mode import Mode, Preview from black.nodes import ( diff --git a/src/black/concurrency.py b/src/black/concurrency.py index 8079100f8f7..4b3cf48d901 100644 --- a/src/black/concurrency.py +++ b/src/black/concurrency.py @@ -10,10 +10,11 @@ import signal import sys import traceback +from collections.abc import Iterable from concurrent.futures import Executor, ProcessPoolExecutor, ThreadPoolExecutor from multiprocessing import Manager from pathlib import Path -from typing import Any, Iterable, Optional +from typing import Any, Optional from mypy_extensions import mypyc_attr diff --git a/src/black/debug.py b/src/black/debug.py index 34a9f32e5cb..939b20eee5e 100644 --- a/src/black/debug.py +++ b/src/black/debug.py @@ -1,5 +1,6 @@ +from collections.abc import Iterator from dataclasses import dataclass, field -from typing import Any, Iterator, TypeVar, Union +from typing import Any, TypeVar, Union from black.nodes import Visitor from black.output import out diff --git a/src/black/files.py b/src/black/files.py index 82da47919c7..72c5eddf9c0 100644 --- a/src/black/files.py +++ b/src/black/files.py @@ -1,18 +1,11 @@ import io import os import sys +from collections.abc import Iterable, Iterator, Sequence from functools import lru_cache from pathlib import Path -from typing import ( - TYPE_CHECKING, - Any, - Iterable, - Iterator, - Optional, - Pattern, - Sequence, - Union, -) +from re import Pattern +from typing import TYPE_CHECKING, Any, Optional, Union from mypy_extensions import mypyc_attr from packaging.specifiers import InvalidSpecifier, Specifier, SpecifierSet diff --git a/src/black/linegen.py b/src/black/linegen.py index 107fa69d052..d1314d942af 100644 --- a/src/black/linegen.py +++ b/src/black/linegen.py @@ -4,10 +4,11 @@ import re import sys +from collections.abc import Collection, Iterator from dataclasses import replace from enum import Enum, auto from functools import partial, wraps -from typing import Collection, Iterator, Optional, Union, cast +from typing import Optional, Union, cast from black.brackets import ( COMMA_PRIORITY, diff --git a/src/black/lines.py b/src/black/lines.py index a8c6ef66f68..c488ea77712 100644 --- a/src/black/lines.py +++ b/src/black/lines.py @@ -1,7 +1,8 @@ import itertools import math +from collections.abc import Callable, Iterator, Sequence from dataclasses import dataclass, field -from typing import Callable, Iterator, Optional, Sequence, TypeVar, Union, cast +from typing import Optional, TypeVar, Union, cast from black.brackets import COMMA_PRIORITY, DOT_PRIORITY, BracketTracker from black.mode import Mode, Preview diff --git a/src/black/nodes.py b/src/black/nodes.py index 470dc248488..927b9ee60d1 100644 --- a/src/black/nodes.py +++ b/src/black/nodes.py @@ -3,7 +3,8 @@ """ import sys -from typing import Final, Generic, Iterator, Literal, Optional, TypeVar, Union +from collections.abc import Iterator +from typing import Final, Generic, Literal, Optional, TypeVar, Union if sys.version_info >= (3, 10): from typing import TypeGuard diff --git a/src/black/parsing.py b/src/black/parsing.py index e139963183a..0019b0c006a 100644 --- a/src/black/parsing.py +++ b/src/black/parsing.py @@ -5,7 +5,7 @@ import ast import sys import warnings -from typing import Collection, Iterator +from collections.abc import Collection, Iterator from black.mode import VERSION_TO_FEATURES, Feature, TargetVersion, supports_feature from black.nodes import syms diff --git a/src/black/ranges.py b/src/black/ranges.py index f8b09a67a01..90649137d2e 100644 --- a/src/black/ranges.py +++ b/src/black/ranges.py @@ -1,8 +1,9 @@ """Functions related to Black's formatting by line ranges feature.""" import difflib +from collections.abc import Collection, Iterator, Sequence from dataclasses import dataclass -from typing import Collection, Iterator, Sequence, Union +from typing import Union from black.nodes import ( LN, diff --git a/src/black/strings.py b/src/black/strings.py index 0973907bd3c..8fa7e064074 100644 --- a/src/black/strings.py +++ b/src/black/strings.py @@ -5,7 +5,8 @@ import re import sys from functools import lru_cache -from typing import Final, Match, Pattern +from re import Match, Pattern +from typing import Final from black._width_table import WIDTH_TABLE from blib2to3.pytree import Leaf diff --git a/src/black/trans.py b/src/black/trans.py index b44e3cdf0e7..14699bd00d5 100644 --- a/src/black/trans.py +++ b/src/black/trans.py @@ -5,21 +5,9 @@ import re from abc import ABC, abstractmethod from collections import defaultdict +from collections.abc import Callable, Collection, Iterable, Iterator, Sequence from dataclasses import dataclass -from typing import ( - Any, - Callable, - ClassVar, - Collection, - Final, - Iterable, - Iterator, - Literal, - Optional, - Sequence, - TypeVar, - Union, -) +from typing import Any, ClassVar, Final, Literal, Optional, TypeVar, Union from mypy_extensions import trait diff --git a/src/blackd/middlewares.py b/src/blackd/middlewares.py index 75ec9267bd0..43448c2514a 100644 --- a/src/blackd/middlewares.py +++ b/src/blackd/middlewares.py @@ -1,4 +1,4 @@ -from typing import Awaitable, Callable, Iterable +from collections.abc import Awaitable, Callable, Iterable from aiohttp.typedefs import Middleware from aiohttp.web_middlewares import middleware diff --git a/src/blib2to3/pgen2/driver.py b/src/blib2to3/pgen2/driver.py index df52ac93ca6..d17fd1d7bfb 100644 --- a/src/blib2to3/pgen2/driver.py +++ b/src/blib2to3/pgen2/driver.py @@ -21,10 +21,11 @@ import os import pkgutil import sys +from collections.abc import Iterable, Iterator from contextlib import contextmanager from dataclasses import dataclass, field from logging import Logger -from typing import IO, Any, Iterable, Iterator, Optional, Union, cast +from typing import IO, Any, Optional, Union, cast from blib2to3.pgen2.grammar import Grammar from blib2to3.pgen2.tokenize import GoodTokenInfo diff --git a/src/blib2to3/pgen2/literals.py b/src/blib2to3/pgen2/literals.py index 3b219c42f93..a738c10f460 100644 --- a/src/blib2to3/pgen2/literals.py +++ b/src/blib2to3/pgen2/literals.py @@ -4,7 +4,6 @@ """Safely evaluate Python string literals without using eval().""" import re -from typing import Match simple_escapes: dict[str, str] = { "a": "\a", @@ -20,7 +19,7 @@ } -def escape(m: Match[str]) -> str: +def escape(m: re.Match[str]) -> str: all, tail = m.group(0, 1) assert all.startswith("\\") esc = simple_escapes.get(tail) diff --git a/src/blib2to3/pgen2/parse.py b/src/blib2to3/pgen2/parse.py index 2ac89c97094..10202ab6002 100644 --- a/src/blib2to3/pgen2/parse.py +++ b/src/blib2to3/pgen2/parse.py @@ -9,8 +9,9 @@ how this parsing engine works. """ +from collections.abc import Callable, Iterator from contextlib import contextmanager -from typing import TYPE_CHECKING, Any, Callable, Iterator, Optional, Union, cast +from typing import TYPE_CHECKING, Any, Optional, Union, cast from blib2to3.pgen2.grammar import Grammar from blib2to3.pytree import NL, Context, Leaf, Node, RawNode, convert diff --git a/src/blib2to3/pgen2/pgen.py b/src/blib2to3/pgen2/pgen.py index 2be7b877909..17f7533995f 100644 --- a/src/blib2to3/pgen2/pgen.py +++ b/src/blib2to3/pgen2/pgen.py @@ -2,7 +2,8 @@ # Licensed to PSF under a Contributor Agreement. import os -from typing import IO, Any, Iterator, NoReturn, Optional, Sequence, Union +from collections.abc import Iterator, Sequence +from typing import IO, Any, NoReturn, Optional, Union from blib2to3.pgen2 import grammar, token, tokenize from blib2to3.pgen2.tokenize import GoodTokenInfo diff --git a/src/blib2to3/pgen2/tokenize.py b/src/blib2to3/pgen2/tokenize.py index f7d0215c4b5..97dd92b06f0 100644 --- a/src/blib2to3/pgen2/tokenize.py +++ b/src/blib2to3/pgen2/tokenize.py @@ -29,7 +29,9 @@ import builtins import sys -from typing import Callable, Final, Iterable, Iterator, Optional, Pattern, Union +from collections.abc import Callable, Iterable, Iterator +from re import Pattern +from typing import Final, Optional, Union from blib2to3.pgen2.grammar import Grammar from blib2to3.pgen2.token import ( diff --git a/src/blib2to3/pytree.py b/src/blib2to3/pytree.py index d2d135e7d1d..d57584685a2 100644 --- a/src/blib2to3/pytree.py +++ b/src/blib2to3/pytree.py @@ -12,7 +12,8 @@ # mypy: allow-untyped-defs, allow-incomplete-defs -from typing import Any, Iterable, Iterator, Optional, TypeVar, Union +from collections.abc import Iterable, Iterator +from typing import Any, Optional, TypeVar, Union from blib2to3.pgen2.grammar import Grammar diff --git a/tests/test_black.py b/tests/test_black.py index b26a5659a6f..84061f10cdf 100644 --- a/tests/test_black.py +++ b/tests/test_black.py @@ -10,6 +10,7 @@ import sys import textwrap import types +from collections.abc import Callable, Iterator, Sequence from concurrent.futures import ThreadPoolExecutor from contextlib import contextmanager, redirect_stderr from dataclasses import fields, replace @@ -17,7 +18,7 @@ from pathlib import Path, WindowsPath from platform import system from tempfile import TemporaryDirectory -from typing import Any, Callable, Iterator, Optional, Sequence, TypeVar, Union +from typing import Any, Optional, TypeVar, Union from unittest.mock import MagicMock, patch import click diff --git a/tests/test_docs.py b/tests/test_docs.py index 7f04a6d3e29..6b69055e94d 100644 --- a/tests/test_docs.py +++ b/tests/test_docs.py @@ -5,9 +5,10 @@ """ import re +from collections.abc import Sequence from itertools import islice from pathlib import Path -from typing import Optional, Sequence +from typing import Optional import pytest diff --git a/tests/test_format.py b/tests/test_format.py index ade7761a029..31c44b9fa90 100644 --- a/tests/test_format.py +++ b/tests/test_format.py @@ -1,5 +1,6 @@ +from collections.abc import Iterator from dataclasses import replace -from typing import Any, Iterator +from typing import Any from unittest.mock import patch import pytest diff --git a/tests/test_ipynb.py b/tests/test_ipynb.py index 3a3cc5fefdb..46b1c9a9903 100644 --- a/tests/test_ipynb.py +++ b/tests/test_ipynb.py @@ -1,9 +1,9 @@ import contextlib import pathlib import re +from contextlib import AbstractContextManager from contextlib import ExitStack as does_not_raise from dataclasses import replace -from typing import ContextManager import pytest from _pytest.monkeypatch import MonkeyPatch @@ -213,7 +213,7 @@ def test_cell_magic_with_empty_lines(src: str, expected: str) -> None: ], ) def test_cell_magic_with_custom_python_magic( - mode: Mode, expected_output: str, expectation: ContextManager[object] + mode: Mode, expected_output: str, expectation: AbstractContextManager[object] ) -> None: with expectation: result = format_cell( diff --git a/tests/util.py b/tests/util.py index d0b7ff79d47..5384af9b8a5 100644 --- a/tests/util.py +++ b/tests/util.py @@ -4,11 +4,12 @@ import shlex import sys import unittest +from collections.abc import Collection, Iterator from contextlib import contextmanager from dataclasses import dataclass, field, replace from functools import partial from pathlib import Path -from typing import Any, Collection, Iterator, Optional +from typing import Any, Optional import black from black.const import DEFAULT_LINE_LENGTH