From 4a45d248b4ec60eba1f5a734ac3ec1d492fe736e Mon Sep 17 00:00:00 2001 From: Ralf Gommers Date: Mon, 3 Jan 2022 22:34:12 +0100 Subject: [PATCH] TYP: change type annotation for `__array_namespace__` to ModuleType This is more precise, we are returning a module here. Type checkers will be able to use this info in the future - see https://github.com/data-apis/array-api/issues/267 --- numpy/array_api/_array_object.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/numpy/array_api/_array_object.py b/numpy/array_api/_array_object.py index 75baf34b07da..391e9f575e60 100644 --- a/numpy/array_api/_array_object.py +++ b/numpy/array_api/_array_object.py @@ -30,6 +30,7 @@ ) from typing import TYPE_CHECKING, Optional, Tuple, Union, Any +import types if TYPE_CHECKING: from ._typing import Any, PyCapsule, Device, Dtype @@ -415,7 +416,7 @@ def __and__(self: Array, other: Union[int, bool, Array], /) -> Array: def __array_namespace__( self: Array, /, *, api_version: Optional[str] = None - ) -> Any: + ) -> types.ModuleType: if api_version is not None and not api_version.startswith("2021."): raise ValueError(f"Unrecognized array API version: {api_version!r}") return array_api