summaryrefslogtreecommitdiff
path: root/numpy/typing/_array_like.py
diff options
context:
space:
mode:
authorBas van Beek <43369155+BvB93@users.noreply.github.com>2021-08-14 21:39:50 +0200
committerBas van Beek <b.f.van.beek@vu.nl>2021-08-30 15:26:54 +0200
commitd0b676b77bfa567eddb925bc31ead24ff0b576b1 (patch)
tree07b44648afab1077871a8bb330e9e183f7865c25 /numpy/typing/_array_like.py
parent5ae53e93b2be9ccf47bf72a85d71ea15d15a2eed (diff)
downloadnumpy-d0b676b77bfa567eddb925bc31ead24ff0b576b1.tar.gz
MAINT: Drop .py code-paths specific to Python 3.7
Diffstat (limited to 'numpy/typing/_array_like.py')
-rw-r--r--numpy/typing/_array_like.py26
1 files changed, 8 insertions, 18 deletions
diff --git a/numpy/typing/_array_like.py b/numpy/typing/_array_like.py
index c562f3c1f..6ea0eb662 100644
--- a/numpy/typing/_array_like.py
+++ b/numpy/typing/_array_like.py
@@ -1,7 +1,6 @@
from __future__ import annotations
-import sys
-from typing import Any, Sequence, TYPE_CHECKING, Union, TypeVar, Generic
+from typing import Any, Sequence, Protocol, Union, TypeVar
from numpy import (
ndarray,
dtype,
@@ -19,28 +18,19 @@ from numpy import (
str_,
bytes_,
)
-from . import _HAS_TYPING_EXTENSIONS
-
-if sys.version_info >= (3, 8):
- from typing import Protocol
-elif _HAS_TYPING_EXTENSIONS:
- from typing_extensions import Protocol
_T = TypeVar("_T")
_ScalarType = TypeVar("_ScalarType", bound=generic)
_DType = TypeVar("_DType", bound="dtype[Any]")
_DType_co = TypeVar("_DType_co", covariant=True, bound="dtype[Any]")
-if TYPE_CHECKING or _HAS_TYPING_EXTENSIONS or sys.version_info >= (3, 8):
- # The `_SupportsArray` protocol only cares about the default dtype
- # (i.e. `dtype=None` or no `dtype` parameter at all) of the to-be returned
- # array.
- # Concrete implementations of the protocol are responsible for adding
- # any and all remaining overloads
- class _SupportsArray(Protocol[_DType_co]):
- def __array__(self) -> ndarray[Any, _DType_co]: ...
-else:
- class _SupportsArray(Generic[_DType_co]): ...
+# The `_SupportsArray` protocol only cares about the default dtype
+# (i.e. `dtype=None` or no `dtype` parameter at all) of the to-be returned
+# array.
+# Concrete implementations of the protocol are responsible for adding
+# any and all remaining overloads
+class _SupportsArray(Protocol[_DType_co]):
+ def __array__(self) -> ndarray[Any, _DType_co]: ...
# TODO: Wait for support for recursive types
_NestedSequence = Union[