From 7ae09623e7f74c88cb4629dbc37acea51cdddadd Mon Sep 17 00:00:00 2001
From: Andreas Kloeckner <inform@tiker.net>
Date: Tue, 8 Oct 2024 17:03:21 -0500
Subject: [PATCH] Unconditionally depend on typing-extensions

---
 pyproject.toml      |  2 +-
 pytools/__init__.py | 18 +-----------------
 pytools/graph.py    | 13 +------------
 pytools/tag.py      | 12 +-----------
 4 files changed, 4 insertions(+), 41 deletions(-)

diff --git a/pyproject.toml b/pyproject.toml
index a28602b..7a38ca3 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -33,7 +33,7 @@ classifiers = [
 dependencies = [
     "platformdirs>=2.2",
     # for dataclass_transform with frozen_default
-    "typing-extensions>=4; python_version<'3.13'",
+    "typing-extensions>=4",
 ]
 
 [project.optional-dependencies]
diff --git a/pytools/__init__.py b/pytools/__init__.py
index ff45b90..2694de2 100644
--- a/pytools/__init__.py
+++ b/pytools/__init__.py
@@ -32,7 +32,6 @@ import sys
 from functools import reduce, wraps
 from sys import intern
 from typing import (
-    TYPE_CHECKING,
     Any,
     Callable,
     ClassVar,
@@ -52,22 +51,7 @@ from typing import (
     Union,
 )
 
-
-if TYPE_CHECKING:
-    # NOTE: mypy seems to be confused by the `try.. except` below when called with
-    #   python -m mypy --python-version 3.8 ...
-    # see https://github.com/python/mypy/issues/14220
-    from typing_extensions import Concatenate, ParamSpec, SupportsIndex
-else:
-    try:
-        from typing import Concatenate, SupportsIndex
-    except ImportError:
-        from typing_extensions import Concatenate, SupportsIndex
-
-    try:
-        from typing import ParamSpec
-    except ImportError:
-        from typing_extensions import ParamSpec  # type: ignore[assignment]
+from typing_extensions import Concatenate, ParamSpec, SupportsIndex
 
 
 # These are deprecated and will go away in 2022.
diff --git a/pytools/graph.py b/pytools/graph.py
index baed099..f00547b 100644
--- a/pytools/graph.py
+++ b/pytools/graph.py
@@ -69,7 +69,6 @@ Type Variables Used
 
 from dataclasses import dataclass
 from typing import (
-    TYPE_CHECKING,
     Any,
     Callable,
     Collection,
@@ -89,17 +88,7 @@ from typing import (
     TypeVar,
 )
 
-
-if TYPE_CHECKING:
-    # NOTE: mypy seems to be confused by the `try.. except` below when called with
-    #   python -m mypy --python-version 3.8 ...
-    # see https://github.com/python/mypy/issues/14220
-    from typing_extensions import TypeAlias
-else:
-    try:
-        from typing import TypeAlias
-    except ImportError:
-        from typing_extensions import TypeAlias
+from typing_extensions import TypeAlias
 
 
 NodeT = TypeVar("NodeT", bound=Hashable)
diff --git a/pytools/tag.py b/pytools/tag.py
index 9055d8d..97073de 100644
--- a/pytools/tag.py
+++ b/pytools/tag.py
@@ -39,17 +39,7 @@ from typing import (
 )
 from warnings import warn
 
-
-if TYPE_CHECKING:
-    # NOTE: mypy seems to be confused by the `try.. except` below when called with
-    #   python -m mypy --python-version 3.8 ...
-    # see https://github.com/python/mypy/issues/14220
-    from typing_extensions import Self, dataclass_transform
-else:
-    try:
-        from typing import Self, dataclass_transform
-    except ImportError:
-        from typing_extensions import Self, dataclass_transform
+from typing_extensions import Self, dataclass_transform
 
 from pytools import memoize, memoize_method
 
-- 
GitLab