summaryrefslogtreecommitdiff
path: root/numpy/typing/_shape.py
diff options
context:
space:
mode:
authorBas van Beek <b.f.van.beek@vu.nl>2021-04-14 23:11:09 +0200
committerBas van Beek <b.f.van.beek@vu.nl>2021-04-14 23:11:09 +0200
commit7afccd97397a6f102b83ae4c0e0f77e0fbde435c (patch)
treeada8d613a51a8ce165934604473e4d48b1085a04 /numpy/typing/_shape.py
parent92549ce03ecff346f4b10b181dcfa93ca1c22b3f (diff)
downloadnumpy-7afccd97397a6f102b83ae4c0e0f77e0fbde435c.tar.gz
MAINT: Relax the integer-type-constraint of `npt._ShapeLike`
Change `int` into the more forgiving `SupportsIndex` protocol
Diffstat (limited to 'numpy/typing/_shape.py')
-rw-r--r--numpy/typing/_shape.py11
1 files changed, 10 insertions, 1 deletions
diff --git a/numpy/typing/_shape.py b/numpy/typing/_shape.py
index 4629046ea..b720c3ffc 100644
--- a/numpy/typing/_shape.py
+++ b/numpy/typing/_shape.py
@@ -1,6 +1,15 @@
+import sys
from typing import Sequence, Tuple, Union
+if sys.version_info >= (3, 8):
+ from typing import SupportsIndex
+else:
+ try:
+ from typing_extensions import SupportsIndex
+ except ImportError:
+ SupportsIndex = NotImplemented
+
_Shape = Tuple[int, ...]
# Anything that can be coerced to a shape tuple
-_ShapeLike = Union[int, Sequence[int]]
+_ShapeLike = Union[SupportsIndex, Sequence[SupportsIndex]]