summaryrefslogtreecommitdiff
path: root/numpy/array_api/_array_object.py
diff options
context:
space:
mode:
authorRalf Gommers <ralf.gommers@gmail.com>2022-01-03 23:03:10 +0100
committerRalf Gommers <ralf.gommers@gmail.com>2022-01-03 23:09:38 +0100
commit5c04e06dacb714fb8381db003eb0f22c08c91417 (patch)
treeca5dd2962ca9226eba21ea17ee520f5e645e2da0 /numpy/array_api/_array_object.py
parentd64df4553e7763208e150d6039dcb6fd3d5ef0be (diff)
downloadnumpy-5c04e06dacb714fb8381db003eb0f22c08c91417.tar.gz
TYP: add a few type annotations to `numpy.array_api.Array`
This fixes the majority of the complaints for `$ mypy numpy/array_api`. The comment indicating that one fix is blocked by lack of support in Mypy for `NotImplemented` is responsible for another several dozen errors. [skip ci]
Diffstat (limited to 'numpy/array_api/_array_object.py')
-rw-r--r--numpy/array_api/_array_object.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/numpy/array_api/_array_object.py b/numpy/array_api/_array_object.py
index 75baf34b0..900a0ae1e 100644
--- a/numpy/array_api/_array_object.py
+++ b/numpy/array_api/_array_object.py
@@ -55,6 +55,7 @@ class Array:
functions, such as asarray().
"""
+ _array: np.ndarray
# Use a custom constructor instead of __init__, as manually initializing
# this class is not supported API.
@@ -124,6 +125,9 @@ class Array:
# spec in places where it either deviates from or is more strict than
# NumPy behavior
+ # NOTE: no valid type annotation possible. E.g `Union[Array,
+ # NotImplemented]` is forbidden, see https://github.com/python/mypy/issues/363
+ # Maybe change returned object to `Literal['NotImplemented']`?
def _check_allowed_dtypes(self, other, dtype_category, op):
"""
Helper function for operators to only allow specific input dtypes
@@ -200,7 +204,7 @@ class Array:
return Array._new(np.array(scalar, self.dtype))
@staticmethod
- def _normalize_two_args(x1, x2):
+ def _normalize_two_args(x1, x2) -> Tuple[Array, Array]:
"""
Normalize inputs to two arg functions to fix type promotion rules