Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 61371bf

Browse files
authored
TYP: Annotate untyped attributes and dunder methods (#31550)
1 parent 2519585 commit 61371bf

8 files changed

Lines changed: 31 additions & 1 deletion

File tree

numpy/f2py/symbolic.pyi

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from collections.abc import Callable, Mapping
22
from enum import Enum
3-
from typing import Any, Generic, Literal as L, Self, overload
3+
from typing import Any, Generic, Literal as L, Self, overload, override
44
from typing_extensions import TypeVar
55

66
__all__ = ["Expr"]
@@ -103,6 +103,10 @@ class Expr(Generic[_OpT_co, _DataT_co]):
103103
#
104104
def __init__(self, /, op: Op, data: _DataT_co) -> None: ...
105105

106+
#
107+
@override
108+
def __eq__(self, other: object, /) -> bool: ...
109+
106110
#
107111
def __lt__(self, other: Expr, /) -> bool: ...
108112
def __le__(self, other: Expr, /) -> bool: ...

numpy/lib/_arrayterator_impl.pyi

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ class Arrayterator(np.ndarray[_ShapeT_co, _DTypeT_co]):
3434

3535
#
3636
def __init__(self, /, var: np.ndarray[_ShapeT_co, _DTypeT_co], buf_size: int | None = None) -> None: ...
37+
def __getattr__(self, attr: str, /) -> Any: ...
3738
def __getitem__(self, index: _AnyIndex, /) -> Arrayterator[_AnyShape, _DTypeT_co]: ... # type: ignore[override]
3839
def __iter__(self) -> Generator[np.ndarray[_AnyShape, _DTypeT_co]]: ... # pyrefly: ignore[bad-override]
3940

numpy/lib/_index_tricks_impl.pyi

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,8 @@ type _JustAnyShape = tuple[Never, Never, Never, Never, Never] # workaround for
6969
###
7070

7171
class ndenumerate(Generic[_ScalarT_co]):
72+
iter: np.flatiter[NDArray[_ScalarT_co]]
73+
7274
@overload
7375
def __init__[ScalarT: np.generic](
7476
self: ndenumerate[ScalarT],

numpy/lib/_npyio_impl.pyi

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,10 @@ class NpzFile(Mapping[str, NDArray[_ScalarT_co]]):
6464

6565
zip: zipfile.ZipFile | None = None
6666
fid: IO[str] | None = None
67+
6768
files: list[str]
6869
allow_pickle: bool
70+
max_header_size: int
6971
pickle_kwargs: Mapping[str, Any] | None
7072
f: BagObj[NpzFile[_ScalarT_co]]
7173

numpy/lib/_polynomial_impl.pyi

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ from typing import (
99
SupportsIndex,
1010
SupportsInt,
1111
overload,
12+
override,
1213
)
1314

1415
import numpy as np
@@ -143,6 +144,12 @@ class poly1d:
143144
def __truediv__(self, other: ArrayLike, /) -> Self: ...
144145
def __rtruediv__(self, other: ArrayLike, /) -> Self: ...
145146

147+
#
148+
@override
149+
def __eq__(self, other: poly1d, /) -> bool: ... # type:ignore[override]
150+
@override
151+
def __ne__(self, other: poly1d, /) -> bool: ... # type:ignore[override]
152+
146153
#
147154
def deriv(self, /, m: ConvertibleToInt = 1) -> Self: ...
148155
def integ(self, /, m: ConvertibleToInt = 1, k: _ArrayLikeComplex_co | _ArrayLikeObject_co | None = 0) -> poly1d: ...

numpy/lib/_user_array_impl.pyi

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,3 +223,7 @@ class container(Generic[_ShapeT_co, _DTypeT_co]):
223223
def tobytes(self, /) -> bytes: ...
224224
def byteswap(self, /) -> Self: ...
225225
def astype[ScalarT: np.generic](self, /, typecode: _DTypeLike[ScalarT]) -> container[_ShapeT_co, np.dtype[ScalarT]]: ...
226+
227+
#
228+
def __setattr__(self, attr: str, value: object, /) -> None: ...
229+
def __getattr__(self, attr: str, /) -> Any: ...

numpy/ma/core.pyi

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2780,6 +2780,12 @@ class MaskedArray(ndarray[_ShapeT_co, _DTypeT_co]):
27802780

27812781
#
27822782
@override
2783+
def __getstate__(self) -> tuple[Any, ...]: ...
2784+
@override
2785+
def __setstate__(self, state: tuple[Any, ...]) -> None: ...
2786+
@override
2787+
def __reduce__(self) -> tuple[Any, ...]: ...
2788+
@override
27832789
def __deepcopy__(self, memo: dict[int, Any] | None = None) -> Self: ...
27842790

27852791
# Keep `dtype` at the bottom to avoid name conflicts with `np.dtype`

numpy/ma/mrecords.pyi

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,10 @@ class MaskedRecords(MaskedArray[_ShapeT_co, _DTypeT_co], Generic[_ShapeT_co, _DT
6868
@override
6969
def __array_finalize__(self, obj: np.ndarray) -> None: ... # type: ignore[override] # pyright: ignore[reportIncompatibleMethodOverride]
7070
@override
71+
def __getattribute__(self, attr: str, /) -> Any: ...
72+
@override
73+
def __setattr__(self, attr: str, val: Any, /) -> None: ...
74+
@override
7175
def __getitem__(self, indx: str | _ToIndices, /) -> Incomplete: ... # type: ignore[override] # pyright: ignore[reportIncompatibleMethodOverride]
7276
@override
7377
def __setitem__(self, indx: str | _ToIndices, value: Incomplete, /) -> None: ... # type: ignore[override] # pyright: ignore[reportIncompatibleMethodOverride]

0 commit comments

Comments
 (0)