diff options
author | Ralf Gommers <ralf.gommers@gmail.com> | 2022-01-03 23:03:10 +0100 |
---|---|---|
committer | Ralf Gommers <ralf.gommers@gmail.com> | 2022-01-03 23:09:38 +0100 |
commit | 5c04e06dacb714fb8381db003eb0f22c08c91417 (patch) | |
tree | ca5dd2962ca9226eba21ea17ee520f5e645e2da0 /numpy/array_api/_array_object.py | |
parent | d64df4553e7763208e150d6039dcb6fd3d5ef0be (diff) | |
download | numpy-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.py | 6 |
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 |