From b7e339f1d44441ba73dd88f588d4d5f925157b2a Mon Sep 17 00:00:00 2001 From: Bas van Beek Date: Fri, 11 Mar 2022 17:55:12 +0100 Subject: [PATCH 1/4] TST: Bump mypy from 0.931 to 0.940 --- environment.yml | 2 +- test_requirements.txt | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/environment.yml b/environment.yml index 58305e68171c..2299019efe87 100644 --- a/environment.yml +++ b/environment.yml @@ -19,7 +19,7 @@ dependencies: - pytest-xdist - hypothesis # For type annotations - - mypy=0.930 + - mypy=0.940 # For building docs - sphinx=4.1.1 - numpydoc=1.1.0 diff --git a/test_requirements.txt b/test_requirements.txt index e33649c4a37f..9fd74f18a75c 100644 --- a/test_requirements.txt +++ b/test_requirements.txt @@ -9,4 +9,5 @@ pytest-cov==3.0.0 cffi; python_version < '3.10' # For testing types. Notes on the restrictions: # - Mypy relies on C API features not present in PyPy -mypy==0.930; platform_python_implementation != "PyPy" +# NOTE: Keep mypy in sync with environment.yml +mypy==0.940; platform_python_implementation != "PyPy" From 381eb223b7d422cc2ae266b8696334dffaec6127 Mon Sep 17 00:00:00 2001 From: Bas van Beek Date: Fri, 11 Mar 2022 18:07:59 +0100 Subject: [PATCH 2/4] TST: Adapt to the mypy 0.940 changes in tuple representation --- .../tests/data/reveal/array_constructors.pyi | 2 +- .../typing/tests/data/reveal/arrayterator.pyi | 2 +- numpy/typing/tests/data/reveal/dtype.pyi | 4 +-- numpy/typing/tests/data/reveal/flatiter.pyi | 2 +- .../typing/tests/data/reveal/fromnumeric.pyi | 28 +++++++++++-------- .../typing/tests/data/reveal/index_tricks.pyi | 28 +++++++++---------- numpy/typing/tests/data/reveal/multiarray.pyi | 22 +++++++-------- .../typing/tests/data/reveal/ndarray_misc.pyi | 2 +- numpy/typing/tests/data/reveal/nditer.pyi | 20 ++++++------- numpy/typing/tests/data/reveal/numeric.pyi | 6 ++-- .../tests/data/reveal/stride_tricks.pyi | 4 +-- numpy/typing/tests/data/reveal/testing.pyi | 2 +- 12 files changed, 64 insertions(+), 58 deletions(-) diff --git a/numpy/typing/tests/data/reveal/array_constructors.pyi b/numpy/typing/tests/data/reveal/array_constructors.pyi index 6df1c7c294af..265690a4df42 100644 --- a/numpy/typing/tests/data/reveal/array_constructors.pyi +++ b/numpy/typing/tests/data/reveal/array_constructors.pyi @@ -153,7 +153,7 @@ reveal_type(np.full(1, i8, dtype=np.float64)) # E: ndarray[Any, dtype[{float64} reveal_type(np.full(1, i8, dtype=float)) # E: ndarray[Any, dtype[Any]] reveal_type(np.indices([1, 2, 3])) # E: ndarray[Any, dtype[{int_}]] -reveal_type(np.indices([1, 2, 3], sparse=True)) # E: tuple[ndarray[Any, dtype[{int_}]]] +reveal_type(np.indices([1, 2, 3], sparse=True)) # E: tuple[ndarray[Any, dtype[{int_}]], ...] reveal_type(np.fromfunction(func, (3, 5))) # E: SubClass[{float64}] diff --git a/numpy/typing/tests/data/reveal/arrayterator.pyi b/numpy/typing/tests/data/reveal/arrayterator.pyi index 2dab9d08c7fa..b6c26ddb70e1 100644 --- a/numpy/typing/tests/data/reveal/arrayterator.pyi +++ b/numpy/typing/tests/data/reveal/arrayterator.pyi @@ -9,7 +9,7 @@ reveal_type(ar_iter.buf_size) # E: Union[None, builtins.int] reveal_type(ar_iter.start) # E: builtins.list[builtins.int] reveal_type(ar_iter.stop) # E: builtins.list[builtins.int] reveal_type(ar_iter.step) # E: builtins.list[builtins.int] -reveal_type(ar_iter.shape) # E: builtins.tuple[builtins.int] +reveal_type(ar_iter.shape) # E: builtins.tuple[builtins.int, ...] reveal_type(ar_iter.flat) # E: typing.Generator[{int64}, None, None] reveal_type(ar_iter.__array__()) # E: ndarray[Any, dtype[{int64}]] diff --git a/numpy/typing/tests/data/reveal/dtype.pyi b/numpy/typing/tests/data/reveal/dtype.pyi index 934d7da5efe2..7a658511a019 100644 --- a/numpy/typing/tests/data/reveal/dtype.pyi +++ b/numpy/typing/tests/data/reveal/dtype.pyi @@ -48,11 +48,11 @@ reveal_type(np.dtype(("U", 10))) # E: dtype[void] # Methods and attributes reveal_type(dtype_U.base) # E: dtype[Any] -reveal_type(dtype_U.subdtype) # E: Union[None, Tuple[dtype[Any], builtins.tuple[builtins.int]]] +reveal_type(dtype_U.subdtype) # E: Union[None, Tuple[dtype[Any], builtins.tuple[builtins.int, ...]]] reveal_type(dtype_U.newbyteorder()) # E: dtype[str_] reveal_type(dtype_U.type) # E: Type[str_] reveal_type(dtype_U.name) # E: str -reveal_type(dtype_U.names) # E: Union[None, builtins.tuple[builtins.str]] +reveal_type(dtype_U.names) # E: Union[None, builtins.tuple[builtins.str, ...]] reveal_type(dtype_U * 0) # E: dtype[str_] reveal_type(dtype_U * 1) # E: dtype[str_] diff --git a/numpy/typing/tests/data/reveal/flatiter.pyi b/numpy/typing/tests/data/reveal/flatiter.pyi index 9e7d6e5452d1..f0c3d1454e66 100644 --- a/numpy/typing/tests/data/reveal/flatiter.pyi +++ b/numpy/typing/tests/data/reveal/flatiter.pyi @@ -5,7 +5,7 @@ a: np.flatiter[np.ndarray[Any, np.dtype[np.str_]]] reveal_type(a.base) # E: ndarray[Any, dtype[str_]] reveal_type(a.copy()) # E: ndarray[Any, dtype[str_]] -reveal_type(a.coords) # E: tuple[builtins.int] +reveal_type(a.coords) # E: tuple[builtins.int, ...] reveal_type(a.index) # E: int reveal_type(iter(a)) # E: Iterator[str_] reveal_type(next(a)) # E: str_ diff --git a/numpy/typing/tests/data/reveal/fromnumeric.pyi b/numpy/typing/tests/data/reveal/fromnumeric.pyi index 2ee1952cf7bf..068aab8f2485 100644 --- a/numpy/typing/tests/data/reveal/fromnumeric.pyi +++ b/numpy/typing/tests/data/reveal/fromnumeric.pyi @@ -103,17 +103,23 @@ reveal_type(np.ravel(c)) # E: ndarray[Any, Any] reveal_type(np.ravel(A)) # E: ndarray[Any, Any] reveal_type(np.ravel(B)) # E: ndarray[Any, Any] -reveal_type(np.nonzero(a)) # E: tuple[ndarray[Any, Any]] -reveal_type(np.nonzero(b)) # E: tuple[ndarray[Any, Any]] -reveal_type(np.nonzero(c)) # E: tuple[ndarray[Any, Any]] -reveal_type(np.nonzero(A)) # E: tuple[ndarray[Any, Any]] -reveal_type(np.nonzero(B)) # E: tuple[ndarray[Any, Any]] - -reveal_type(np.shape(a)) # E: tuple[builtins.int] -reveal_type(np.shape(b)) # E: tuple[builtins.int] -reveal_type(np.shape(c)) # E: tuple[builtins.int] -reveal_type(np.shape(A)) # E: tuple[builtins.int] -reveal_type(np.shape(B)) # E: tuple[builtins.int] +reveal_type(np.ravel(b)) # E: ndarray[Any, dtype[bool_]] +reveal_type(np.ravel(f4)) # E: ndarray[Any, dtype[{float32}]] +reveal_type(np.ravel(f)) # E: ndarray[Any, dtype[Any]] +reveal_type(np.ravel(AR_b)) # E: ndarray[Any, dtype[bool_]] +reveal_type(np.ravel(AR_f4)) # E: ndarray[Any, dtype[{float32}]] + +reveal_type(np.nonzero(b)) # E: tuple[ndarray[Any, dtype[{intp}]], ...] +reveal_type(np.nonzero(f4)) # E: tuple[ndarray[Any, dtype[{intp}]], ...] +reveal_type(np.nonzero(f)) # E: tuple[ndarray[Any, dtype[{intp}]], ...] +reveal_type(np.nonzero(AR_b)) # E: tuple[ndarray[Any, dtype[{intp}]], ...] +reveal_type(np.nonzero(AR_f4)) # E: tuple[ndarray[Any, dtype[{intp}]], ...] + +reveal_type(np.shape(b)) # E: tuple[builtins.int, ...] +reveal_type(np.shape(f4)) # E: tuple[builtins.int, ...] +reveal_type(np.shape(f)) # E: tuple[builtins.int, ...] +reveal_type(np.shape(AR_b)) # E: tuple[builtins.int, ...] +reveal_type(np.shape(AR_f4)) # E: tuple[builtins.int, ...] reveal_type(np.compress([True], a)) # E: ndarray[Any, Any] reveal_type(np.compress([True], b)) # E: ndarray[Any, Any] diff --git a/numpy/typing/tests/data/reveal/index_tricks.pyi b/numpy/typing/tests/data/reveal/index_tricks.pyi index 55c033fe011f..4b412da22250 100644 --- a/numpy/typing/tests/data/reveal/index_tricks.pyi +++ b/numpy/typing/tests/data/reveal/index_tricks.pyi @@ -16,9 +16,9 @@ reveal_type(np.ndenumerate(AR_i8).iter) # E: flatiter[ndarray[Any, dtype[{int64 reveal_type(np.ndenumerate(AR_LIKE_f).iter) # E: flatiter[ndarray[Any, dtype[{double}]]] reveal_type(np.ndenumerate(AR_LIKE_U).iter) # E: flatiter[ndarray[Any, dtype[str_]]] -reveal_type(next(np.ndenumerate(AR_i8))) # E: Tuple[builtins.tuple[builtins.int], {int64}] -reveal_type(next(np.ndenumerate(AR_LIKE_f))) # E: Tuple[builtins.tuple[builtins.int], {double}] -reveal_type(next(np.ndenumerate(AR_LIKE_U))) # E: Tuple[builtins.tuple[builtins.int], str_] +reveal_type(next(np.ndenumerate(AR_i8))) # E: Tuple[builtins.tuple[builtins.int, ...], {int64}] +reveal_type(next(np.ndenumerate(AR_LIKE_f))) # E: Tuple[builtins.tuple[builtins.int, ...], {double}] +reveal_type(next(np.ndenumerate(AR_LIKE_U))) # E: Tuple[builtins.tuple[builtins.int, ...], str_] reveal_type(iter(np.ndenumerate(AR_i8))) # E: Iterator[Tuple[builtins.tuple[builtins.int], {int64}]] reveal_type(iter(np.ndenumerate(AR_LIKE_f))) # E: Iterator[Tuple[builtins.tuple[builtins.int], {double}]] @@ -26,12 +26,12 @@ reveal_type(iter(np.ndenumerate(AR_LIKE_U))) # E: Iterator[Tuple[builtins.tuple reveal_type(np.ndindex(1, 2, 3)) # E: numpy.ndindex reveal_type(np.ndindex((1, 2, 3))) # E: numpy.ndindex -reveal_type(iter(np.ndindex(1, 2, 3))) # E: Iterator[builtins.tuple[builtins.int]] -reveal_type(next(np.ndindex(1, 2, 3))) # E: builtins.tuple[builtins.int] +reveal_type(iter(np.ndindex(1, 2, 3))) # E: Iterator[builtins.tuple[builtins.int, ...]] +reveal_type(next(np.ndindex(1, 2, 3))) # E: builtins.tuple[builtins.int, ...] -reveal_type(np.unravel_index([22, 41, 37], (7, 6))) # E: tuple[ndarray[Any, dtype[{intp}]]] -reveal_type(np.unravel_index([31, 41, 13], (7, 6), order="F")) # E: tuple[ndarray[Any, dtype[{intp}]]] -reveal_type(np.unravel_index(1621, (6, 7, 8, 9))) # E: tuple[{intp}] +reveal_type(np.unravel_index([22, 41, 37], (7, 6))) # E: tuple[ndarray[Any, dtype[{intp}]], ...] +reveal_type(np.unravel_index([31, 41, 13], (7, 6), order="F")) # E: tuple[ndarray[Any, dtype[{intp}]], ...] +reveal_type(np.unravel_index(1621, (6, 7, 8, 9))) # E: tuple[{intp}, ...] reveal_type(np.ravel_multi_index([[1]], (7, 6))) # E: ndarray[Any, dtype[{intp}]] reveal_type(np.ravel_multi_index(AR_LIKE_i, (7, 6))) # E: {intp} @@ -54,13 +54,13 @@ reveal_type(np.s_[0:1]) # E: builtins.slice reveal_type(np.s_[0:1, None:3]) # E: Tuple[builtins.slice, builtins.slice] reveal_type(np.s_[0, 0:1, ..., [0, 1, 3]]) # E: Tuple[Literal[0]?, builtins.slice, builtins.ellipsis, builtins.list[builtins.int]] -reveal_type(np.ix_(AR_LIKE_b)) # E: tuple[ndarray[Any, dtype[bool_]]] -reveal_type(np.ix_(AR_LIKE_i, AR_LIKE_f)) # E: tuple[ndarray[Any, dtype[{double}]]] -reveal_type(np.ix_(AR_i8)) # E: tuple[ndarray[Any, dtype[{int64}]]] +reveal_type(np.ix_(AR_LIKE_b)) # E: tuple[ndarray[Any, dtype[bool_]], ...] +reveal_type(np.ix_(AR_LIKE_i, AR_LIKE_f)) # E: tuple[ndarray[Any, dtype[{double}]], ...] +reveal_type(np.ix_(AR_i8)) # E: tuple[ndarray[Any, dtype[{int64}]], ...] reveal_type(np.fill_diagonal(AR_i8, 5)) # E: None -reveal_type(np.diag_indices(4)) # E: tuple[ndarray[Any, dtype[{int_}]]] -reveal_type(np.diag_indices(2, 3)) # E: tuple[ndarray[Any, dtype[{int_}]]] +reveal_type(np.diag_indices(4)) # E: tuple[ndarray[Any, dtype[{int_}]], ...] +reveal_type(np.diag_indices(2, 3)) # E: tuple[ndarray[Any, dtype[{int_}]], ...] -reveal_type(np.diag_indices_from(AR_i8)) # E: tuple[ndarray[Any, dtype[{int_}]]] +reveal_type(np.diag_indices_from(AR_i8)) # E: tuple[ndarray[Any, dtype[{int_}]], ...] diff --git a/numpy/typing/tests/data/reveal/multiarray.pyi b/numpy/typing/tests/data/reveal/multiarray.pyi index 56706d8d6f91..72fb887742b8 100644 --- a/numpy/typing/tests/data/reveal/multiarray.pyi +++ b/numpy/typing/tests/data/reveal/multiarray.pyi @@ -34,29 +34,29 @@ timedelta_seq: list[dt.timedelta] def func(a: int) -> bool: ... -reveal_type(next(b_f8)) # E: tuple[Any] +reveal_type(next(b_f8)) # E: tuple[Any, ...] reveal_type(b_f8.reset()) # E: None reveal_type(b_f8.index) # E: int -reveal_type(b_f8.iters) # E: tuple[flatiter[Any]] +reveal_type(b_f8.iters) # E: tuple[flatiter[Any], ...] reveal_type(b_f8.nd) # E: int reveal_type(b_f8.ndim) # E: int reveal_type(b_f8.numiter) # E: int -reveal_type(b_f8.shape) # E: tuple[builtins.int] +reveal_type(b_f8.shape) # E: tuple[builtins.int, ...] reveal_type(b_f8.size) # E: int -reveal_type(next(b_i8_f8_f8)) # E: tuple[Any] +reveal_type(next(b_i8_f8_f8)) # E: tuple[Any, ...] reveal_type(b_i8_f8_f8.reset()) # E: None reveal_type(b_i8_f8_f8.index) # E: int -reveal_type(b_i8_f8_f8.iters) # E: tuple[flatiter[Any]] +reveal_type(b_i8_f8_f8.iters) # E: tuple[flatiter[Any], ...] reveal_type(b_i8_f8_f8.nd) # E: int reveal_type(b_i8_f8_f8.ndim) # E: int reveal_type(b_i8_f8_f8.numiter) # E: int -reveal_type(b_i8_f8_f8.shape) # E: tuple[builtins.int] +reveal_type(b_i8_f8_f8.shape) # E: tuple[builtins.int, ...] reveal_type(b_i8_f8_f8.size) # E: int reveal_type(np.inner(AR_f8, AR_i8)) # E: Any -reveal_type(np.where([True, True, False])) # E: tuple[ndarray[Any, dtype[{intp}]]] +reveal_type(np.where([True, True, False])) # E: tuple[ndarray[Any, dtype[{intp}]], ...] reveal_type(np.where([True, True, False], 1, 0)) # E: ndarray[Any, dtype[Any]] reveal_type(np.lexsort([0, 1, 2])) # E: Any @@ -138,7 +138,7 @@ reveal_type(np.compare_chararrays(b"a", b"a", "==", True)) # E: ndarray[Any, dt reveal_type(np.add_docstring(func, "test")) # E: None -reveal_type(np.nested_iters([AR_i8, AR_i8], [[0], [1]], flags=["c_index"])) # E: tuple[nditer] -reveal_type(np.nested_iters([AR_i8, AR_i8], [[0], [1]], op_flags=[["readonly", "readonly"]])) # E: tuple[nditer] -reveal_type(np.nested_iters([AR_i8, AR_i8], [[0], [1]], op_dtypes=np.int_)) # E: tuple[nditer] -reveal_type(np.nested_iters([AR_i8, AR_i8], [[0], [1]], order="C", casting="no")) # E: tuple[nditer] +reveal_type(np.nested_iters([AR_i8, AR_i8], [[0], [1]], flags=["c_index"])) # E: tuple[nditer, ...] +reveal_type(np.nested_iters([AR_i8, AR_i8], [[0], [1]], op_flags=[["readonly", "readonly"]])) # E: tuple[nditer, ...] +reveal_type(np.nested_iters([AR_i8, AR_i8], [[0], [1]], op_dtypes=np.int_)) # E: tuple[nditer, ...] +reveal_type(np.nested_iters([AR_i8, AR_i8], [[0], [1]], order="C", casting="no")) # E: tuple[nditer, ...] diff --git a/numpy/typing/tests/data/reveal/ndarray_misc.pyi b/numpy/typing/tests/data/reveal/ndarray_misc.pyi index f91d6351b9c8..da4da3dcfcb4 100644 --- a/numpy/typing/tests/data/reveal/ndarray_misc.pyi +++ b/numpy/typing/tests/data/reveal/ndarray_misc.pyi @@ -165,7 +165,7 @@ reveal_type(AR_f8.dot(1)) # E: ndarray[Any, Any] reveal_type(AR_f8.dot([1])) # E: Any reveal_type(AR_f8.dot(1, out=B)) # E: SubClass -reveal_type(AR_f8.nonzero()) # E: tuple[ndarray[Any, dtype[{intp}]]] +reveal_type(AR_f8.nonzero()) # E: tuple[ndarray[Any, dtype[{intp}]], ...] reveal_type(AR_f8.searchsorted(1)) # E: {intp} reveal_type(AR_f8.searchsorted([1])) # E: ndarray[Any, dtype[{intp}]] diff --git a/numpy/typing/tests/data/reveal/nditer.pyi b/numpy/typing/tests/data/reveal/nditer.pyi index 65861da54c16..cecf2740c158 100644 --- a/numpy/typing/tests/data/reveal/nditer.pyi +++ b/numpy/typing/tests/data/reveal/nditer.pyi @@ -7,7 +7,7 @@ reveal_type(np.nditer([0, 1], op_flags=[["readonly", "readonly"]])) # E: nditer reveal_type(np.nditer([0, 1], op_dtypes=np.int_)) # E: nditer reveal_type(np.nditer([0, 1], order="C", casting="no")) # E: nditer -reveal_type(nditer_obj.dtypes) # E: tuple[dtype[Any]] +reveal_type(nditer_obj.dtypes) # E: tuple[dtype[Any], ...] reveal_type(nditer_obj.finished) # E: bool reveal_type(nditer_obj.has_delayed_bufalloc) # E: bool reveal_type(nditer_obj.has_index) # E: bool @@ -15,15 +15,15 @@ reveal_type(nditer_obj.has_multi_index) # E: bool reveal_type(nditer_obj.index) # E: int reveal_type(nditer_obj.iterationneedsapi) # E: bool reveal_type(nditer_obj.iterindex) # E: int -reveal_type(nditer_obj.iterrange) # E: tuple[builtins.int] +reveal_type(nditer_obj.iterrange) # E: tuple[builtins.int, ...] reveal_type(nditer_obj.itersize) # E: int -reveal_type(nditer_obj.itviews) # E: tuple[ndarray[Any, dtype[Any]]] -reveal_type(nditer_obj.multi_index) # E: tuple[builtins.int] +reveal_type(nditer_obj.itviews) # E: tuple[ndarray[Any, dtype[Any]], ...] +reveal_type(nditer_obj.multi_index) # E: tuple[builtins.int, ...] reveal_type(nditer_obj.ndim) # E: int reveal_type(nditer_obj.nop) # E: int -reveal_type(nditer_obj.operands) # E: tuple[ndarray[Any, dtype[Any]]] -reveal_type(nditer_obj.shape) # E: tuple[builtins.int] -reveal_type(nditer_obj.value) # E: tuple[ndarray[Any, dtype[Any]]] +reveal_type(nditer_obj.operands) # E: tuple[ndarray[Any, dtype[Any]], ...] +reveal_type(nditer_obj.shape) # E: tuple[builtins.int, ...] +reveal_type(nditer_obj.value) # E: tuple[ndarray[Any, dtype[Any]], ...] reveal_type(nditer_obj.close()) # E: None reveal_type(nditer_obj.copy()) # E: nditer @@ -35,12 +35,12 @@ reveal_type(nditer_obj.remove_multi_index()) # E: None reveal_type(nditer_obj.reset()) # E: None reveal_type(len(nditer_obj)) # E: int -reveal_type(iter(nditer_obj)) # E: Iterator[builtins.tuple[ndarray[Any, dtype[Any]]]] -reveal_type(next(nditer_obj)) # E: tuple[ndarray[Any, dtype[Any]]] +reveal_type(iter(nditer_obj)) # E: Iterator[builtins.tuple[ndarray[Any, dtype[Any]]], ...] +reveal_type(next(nditer_obj)) # E: tuple[ndarray[Any, dtype[Any]], ...] reveal_type(nditer_obj.__copy__()) # E: nditer with nditer_obj as f: reveal_type(f) # E: nditer reveal_type(nditer_obj[0]) # E: ndarray[Any, dtype[Any]] -reveal_type(nditer_obj[:]) # E: tuple[ndarray[Any, dtype[Any]]] +reveal_type(nditer_obj[:]) # E: tuple[ndarray[Any, dtype[Any]], ...] nditer_obj[0] = 0 nditer_obj[:] = [0, 1] diff --git a/numpy/typing/tests/data/reveal/numeric.pyi b/numpy/typing/tests/data/reveal/numeric.pyi index bf5653937c19..e9a884c7c339 100644 --- a/numpy/typing/tests/data/reveal/numeric.pyi +++ b/numpy/typing/tests/data/reveal/numeric.pyi @@ -106,11 +106,11 @@ reveal_type(np.cross(AR_i8, AR_c16)) # E: ndarray[Any, dtype[complexfloating[An reveal_type(np.cross(AR_O, AR_O)) # E: ndarray[Any, dtype[object_]] reveal_type(np.indices([0, 1, 2])) # E: ndarray[Any, dtype[{int_}]] -reveal_type(np.indices([0, 1, 2], sparse=True)) # E: tuple[ndarray[Any, dtype[{int_}]]] +reveal_type(np.indices([0, 1, 2], sparse=True)) # E: tuple[ndarray[Any, dtype[{int_}]], ...] reveal_type(np.indices([0, 1, 2], dtype=np.float64)) # E: ndarray[Any, dtype[{float64}]] -reveal_type(np.indices([0, 1, 2], sparse=True, dtype=np.float64)) # E: tuple[ndarray[Any, dtype[{float64}]]] +reveal_type(np.indices([0, 1, 2], sparse=True, dtype=np.float64)) # E: tuple[ndarray[Any, dtype[{float64}]], ...] reveal_type(np.indices([0, 1, 2], dtype=float)) # E: ndarray[Any, dtype[Any]] -reveal_type(np.indices([0, 1, 2], sparse=True, dtype=float)) # E: tuple[ndarray[Any, dtype[Any]]] +reveal_type(np.indices([0, 1, 2], sparse=True, dtype=float)) # E: tuple[ndarray[Any, dtype[Any]], ...] reveal_type(np.binary_repr(1)) # E: str diff --git a/numpy/typing/tests/data/reveal/stride_tricks.pyi b/numpy/typing/tests/data/reveal/stride_tricks.pyi index 0d6dcd388e68..207cb34088e6 100644 --- a/numpy/typing/tests/data/reveal/stride_tricks.pyi +++ b/numpy/typing/tests/data/reveal/stride_tricks.pyi @@ -21,8 +21,8 @@ reveal_type(np.broadcast_to(AR_f8, 5)) # E: ndarray[Any, dtype[{float64}]] reveal_type(np.broadcast_to(AR_LIKE_f, (1, 5))) # E: ndarray[Any, dtype[Any]] reveal_type(np.broadcast_to(AR_f8, [4, 6], subok=True)) # E: ndarray[Any, dtype[{float64}]] -reveal_type(np.broadcast_shapes((1, 2), [3, 1], (3, 2))) # E: tuple[builtins.int] -reveal_type(np.broadcast_shapes((6, 7), (5, 6, 1), 7, (5, 1, 7))) # E: tuple[builtins.int] +reveal_type(np.broadcast_shapes((1, 2), [3, 1], (3, 2))) # E: tuple[builtins.int, ...] +reveal_type(np.broadcast_shapes((6, 7), (5, 6, 1), 7, (5, 1, 7))) # E: tuple[builtins.int, ...] reveal_type(np.broadcast_arrays(AR_f8, AR_f8)) # E: list[ndarray[Any, dtype[Any]]] reveal_type(np.broadcast_arrays(AR_f8, AR_LIKE_f)) # E: list[ndarray[Any, dtype[Any]]] diff --git a/numpy/typing/tests/data/reveal/testing.pyi b/numpy/typing/tests/data/reveal/testing.pyi index 9813dc723fa3..47cb1d047406 100644 --- a/numpy/typing/tests/data/reveal/testing.pyi +++ b/numpy/typing/tests/data/reveal/testing.pyi @@ -29,7 +29,7 @@ reveal_type(np.testing.clear_and_catch_warnings(modules=[np.testing])) # E: _cl reveal_type(np.testing.clear_and_catch_warnings(True)) # E: _clear_and_catch_warnings_with_records reveal_type(np.testing.clear_and_catch_warnings(False)) # E: _clear_and_catch_warnings_without_records reveal_type(np.testing.clear_and_catch_warnings(bool_obj)) # E: clear_and_catch_warnings -reveal_type(np.testing.clear_and_catch_warnings.class_modules) # E: tuple[types.ModuleType] +reveal_type(np.testing.clear_and_catch_warnings.class_modules) # E: tuple[types.ModuleType, ...] reveal_type(np.testing.clear_and_catch_warnings.modules) # E: set[types.ModuleType] with np.testing.clear_and_catch_warnings(True) as c1: From b0c7f157d556a9a51c60f109a3372e3a5e3c9031 Mon Sep 17 00:00:00 2001 From: Bas van Beek Date: Fri, 11 Mar 2022 18:26:37 +0100 Subject: [PATCH 3/4] TST: Adapt to the mypy 0.940 `iter` changes xref https://github.com/python/typeshed/pull/6035 --- numpy/typing/tests/data/reveal/flatiter.pyi | 2 +- numpy/typing/tests/data/reveal/index_tricks.pyi | 8 ++++---- numpy/typing/tests/data/reveal/nditer.pyi | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/numpy/typing/tests/data/reveal/flatiter.pyi b/numpy/typing/tests/data/reveal/flatiter.pyi index f0c3d1454e66..0f0758175a53 100644 --- a/numpy/typing/tests/data/reveal/flatiter.pyi +++ b/numpy/typing/tests/data/reveal/flatiter.pyi @@ -7,7 +7,7 @@ reveal_type(a.base) # E: ndarray[Any, dtype[str_]] reveal_type(a.copy()) # E: ndarray[Any, dtype[str_]] reveal_type(a.coords) # E: tuple[builtins.int, ...] reveal_type(a.index) # E: int -reveal_type(iter(a)) # E: Iterator[str_] +reveal_type(iter(a)) # E: flatiter[ndarray[Any, dtype[str_]]] reveal_type(next(a)) # E: str_ reveal_type(a[0]) # E: str_ reveal_type(a[[0, 1, 2]]) # E: ndarray[Any, dtype[str_]] diff --git a/numpy/typing/tests/data/reveal/index_tricks.pyi b/numpy/typing/tests/data/reveal/index_tricks.pyi index 4b412da22250..a41431025ced 100644 --- a/numpy/typing/tests/data/reveal/index_tricks.pyi +++ b/numpy/typing/tests/data/reveal/index_tricks.pyi @@ -20,13 +20,13 @@ reveal_type(next(np.ndenumerate(AR_i8))) # E: Tuple[builtins.tuple[builtins.int reveal_type(next(np.ndenumerate(AR_LIKE_f))) # E: Tuple[builtins.tuple[builtins.int, ...], {double}] reveal_type(next(np.ndenumerate(AR_LIKE_U))) # E: Tuple[builtins.tuple[builtins.int, ...], str_] -reveal_type(iter(np.ndenumerate(AR_i8))) # E: Iterator[Tuple[builtins.tuple[builtins.int], {int64}]] -reveal_type(iter(np.ndenumerate(AR_LIKE_f))) # E: Iterator[Tuple[builtins.tuple[builtins.int], {double}]] -reveal_type(iter(np.ndenumerate(AR_LIKE_U))) # E: Iterator[Tuple[builtins.tuple[builtins.int], str_]] +reveal_type(iter(np.ndenumerate(AR_i8))) # E: ndenumerate[{int64}] +reveal_type(iter(np.ndenumerate(AR_LIKE_f))) # E: ndenumerate[{double}] +reveal_type(iter(np.ndenumerate(AR_LIKE_U))) # E: ndenumerate[str_] reveal_type(np.ndindex(1, 2, 3)) # E: numpy.ndindex reveal_type(np.ndindex((1, 2, 3))) # E: numpy.ndindex -reveal_type(iter(np.ndindex(1, 2, 3))) # E: Iterator[builtins.tuple[builtins.int, ...]] +reveal_type(iter(np.ndindex(1, 2, 3))) # E: ndindex reveal_type(next(np.ndindex(1, 2, 3))) # E: builtins.tuple[builtins.int, ...] reveal_type(np.unravel_index([22, 41, 37], (7, 6))) # E: tuple[ndarray[Any, dtype[{intp}]], ...] diff --git a/numpy/typing/tests/data/reveal/nditer.pyi b/numpy/typing/tests/data/reveal/nditer.pyi index cecf2740c158..fd8b7e1094fc 100644 --- a/numpy/typing/tests/data/reveal/nditer.pyi +++ b/numpy/typing/tests/data/reveal/nditer.pyi @@ -35,7 +35,7 @@ reveal_type(nditer_obj.remove_multi_index()) # E: None reveal_type(nditer_obj.reset()) # E: None reveal_type(len(nditer_obj)) # E: int -reveal_type(iter(nditer_obj)) # E: Iterator[builtins.tuple[ndarray[Any, dtype[Any]]], ...] +reveal_type(iter(nditer_obj)) # E: nditer reveal_type(next(nditer_obj)) # E: tuple[ndarray[Any, dtype[Any]], ...] reveal_type(nditer_obj.__copy__()) # E: nditer with nditer_obj as f: From 2072bf4fed34dba2be54362b9aec4bfb047cc766 Mon Sep 17 00:00:00 2001 From: Charles Harris Date: Mon, 14 Mar 2022 08:54:53 -0600 Subject: [PATCH 4/4] MAINT: Update numpy/typing/tests/data/reveal/fromnumeric.pyi Co-authored-by: Bas van Beek <43369155+BvB93@users.noreply.github.com> --- .../typing/tests/data/reveal/fromnumeric.pyi | 24 +++++++------------ 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/numpy/typing/tests/data/reveal/fromnumeric.pyi b/numpy/typing/tests/data/reveal/fromnumeric.pyi index 068aab8f2485..cbd8d65b9f73 100644 --- a/numpy/typing/tests/data/reveal/fromnumeric.pyi +++ b/numpy/typing/tests/data/reveal/fromnumeric.pyi @@ -103,23 +103,17 @@ reveal_type(np.ravel(c)) # E: ndarray[Any, Any] reveal_type(np.ravel(A)) # E: ndarray[Any, Any] reveal_type(np.ravel(B)) # E: ndarray[Any, Any] -reveal_type(np.ravel(b)) # E: ndarray[Any, dtype[bool_]] -reveal_type(np.ravel(f4)) # E: ndarray[Any, dtype[{float32}]] -reveal_type(np.ravel(f)) # E: ndarray[Any, dtype[Any]] -reveal_type(np.ravel(AR_b)) # E: ndarray[Any, dtype[bool_]] -reveal_type(np.ravel(AR_f4)) # E: ndarray[Any, dtype[{float32}]] - -reveal_type(np.nonzero(b)) # E: tuple[ndarray[Any, dtype[{intp}]], ...] -reveal_type(np.nonzero(f4)) # E: tuple[ndarray[Any, dtype[{intp}]], ...] -reveal_type(np.nonzero(f)) # E: tuple[ndarray[Any, dtype[{intp}]], ...] -reveal_type(np.nonzero(AR_b)) # E: tuple[ndarray[Any, dtype[{intp}]], ...] -reveal_type(np.nonzero(AR_f4)) # E: tuple[ndarray[Any, dtype[{intp}]], ...] +reveal_type(np.nonzero(a)) # E: tuple[ndarray[Any, Any], ...] +reveal_type(np.nonzero(b)) # E: tuple[ndarray[Any, Any], ...] +reveal_type(np.nonzero(c)) # E: tuple[ndarray[Any, Any], ...] +reveal_type(np.nonzero(A)) # E: tuple[ndarray[Any, Any], ...] +reveal_type(np.nonzero(B)) # E: tuple[ndarray[Any, Any], ...] +reveal_type(np.shape(a)) # E: tuple[builtins.int, ...] reveal_type(np.shape(b)) # E: tuple[builtins.int, ...] -reveal_type(np.shape(f4)) # E: tuple[builtins.int, ...] -reveal_type(np.shape(f)) # E: tuple[builtins.int, ...] -reveal_type(np.shape(AR_b)) # E: tuple[builtins.int, ...] -reveal_type(np.shape(AR_f4)) # E: tuple[builtins.int, ...] +reveal_type(np.shape(c)) # E: tuple[builtins.int, ...] +reveal_type(np.shape(A)) # E: tuple[builtins.int, ...] +reveal_type(np.shape(B)) # E: tuple[builtins.int, ...] reveal_type(np.compress([True], a)) # E: ndarray[Any, Any] reveal_type(np.compress([True], b)) # E: ndarray[Any, Any]