Use better type definitions for the array API custom types
@@ -14,10 +14,13 @@ from typing import Any, Sequence, Type, Union
from . import (Array, int8, int16, int32, int64, uint8, uint16, uint32,
uint64, float32, float64)
-Array = ndarray
-Device = TypeVar('device')
-Dtype = Literal[int8, int16, int32, int64, uint8, uint16,
- uint32, uint64, float32, float64]
-SupportsDLPack = TypeVar('SupportsDLPack')
-SupportsBufferProtocol = TypeVar('SupportsBufferProtocol')
-PyCapsule = TypeVar('PyCapsule')
+# This should really be recursive, but that isn't supported yet. See the
+# similar comment in numpy/typing/_array_like.py
+NestedSequence = Sequence[Sequence[Any]]
+
+Device = Any
+Dtype = Type[Union[[int8, int16, int32, int64, uint8, uint16,
+ uint32, uint64, float32, float64]]]
+SupportsDLPack = Any
+SupportsBufferProtocol = Any
+PyCapsule = Any
