diff --git a/CHANGES.md b/CHANGES.md index 6e2721b..576e3c8 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -14,6 +14,8 @@ - Parsing support has been added for unparenthesized walruses in set literals, set comprehensions, and indices (#2447). - Pin `setuptools-scm` build-time dependency version (#2457) +- Exclude typing-extensions version 3.10.0.1 due to it being broken on Python 3.10 + (#2460) ### _Blackd_ diff --git a/setup.py b/setup.py index 215fa6c..929096a 100644 --- a/setup.py +++ b/setup.py @@ -79,7 +79,10 @@ def get_long_description() -> str: "regex>=2020.1.8", "pathspec>=0.9.0, <1", "dataclasses>=0.6; python_version < '3.7'", - "typing_extensions>=3.10.0.0; python_version < '3.10'", + "typing_extensions>=3.10.0.0", + # 3.10.0.1 is broken on at least Python 3.10, + # https://github.com/python/typing/issues/865 + "typing_extensions!=3.10.0.1; python_version >= '3.10'", "mypy_extensions>=0.4.3", ], extras_require={ diff --git a/src/black/handle_ipynb_magics.py b/src/black/handle_ipynb_magics.py index ad93c44..b18f862 100644 --- a/src/black/handle_ipynb_magics.py +++ b/src/black/handle_ipynb_magics.py @@ -1,15 +1,19 @@ """Functions to process IPython magics with.""" + from functools import lru_cache import dataclasses import ast -from typing import Dict +from typing import Dict, List, Tuple, Optional import secrets -from typing import List, Tuple +import sys import collections -from typing import Optional -from typing_extensions import TypeGuard +if sys.version_info >= (3, 10): + from typing import TypeGuard +else: + from typing_extensions import TypeGuard + from black.report import NothingChanged from black.output import out