From 2acae0ff16b91fe6b9e405f16f879c2b7bc11ff2 Mon Sep 17 00:00:00 2001 From: jorenham Date: Tue, 30 Dec 2025 00:06:33 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=91=BD=EF=B8=8F=20`ma.mrecords`=20sync=20?= =?UTF-8?q?with=20upstream?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/numpy-stubs/ma/mrecords.pyi | 81 +++++++++++++++++++++------------ 1 file changed, 52 insertions(+), 29 deletions(-) diff --git a/src/numpy-stubs/ma/mrecords.pyi b/src/numpy-stubs/ma/mrecords.pyi index dba04c45..90e83920 100644 --- a/src/numpy-stubs/ma/mrecords.pyi +++ b/src/numpy-stubs/ma/mrecords.pyi @@ -9,12 +9,15 @@ from . import MaskedArray __all__ = ["MaskedRecords", "addfield", "fromarrays", "fromrecords", "fromtextfile", "mrecarray"] -_ShapeT_co = TypeVar("_ShapeT_co", bound=_nt.Shape, covariant=True) -_DTypeT_co = TypeVar("_DTypeT_co", bound=np.dtype, covariant=True) +_ShapeT_co = TypeVar("_ShapeT_co", bound=_nt.Shape, default=_nt.AnyShape, covariant=True) +_DTypeT_co = TypeVar("_DTypeT_co", bound=np.dtype, default=np.dtype, covariant=True) + +### class MaskedRecords(MaskedArray[_ShapeT_co, _DTypeT_co]): _mask: Any _fill_value: Any + def __new__( cls, shape: Incomplete, @@ -34,24 +37,40 @@ class MaskedRecords(MaskedArray[_ShapeT_co, _DTypeT_co]): copy: Incomplete = ..., **options: Incomplete, ) -> Self: ... + + # @property def _data(self) -> Incomplete: ... @property def _fieldmask(self) -> Incomplete: ... + + # @override def __array_finalize__(self, obj: Incomplete) -> Incomplete: ... + + # @override def __len__(self) -> int: ... + + # @override def __getattribute__(self, attr: Incomplete) -> Incomplete: ... @override def __setattr__(self, attr: Incomplete, val: Incomplete) -> None: ... + + # @override def __getitem__(self, indx: Incomplete) -> Incomplete: ... @override def __setitem__(self, indx: Incomplete, value: Incomplete) -> None: ... + + # + @override + def __reduce__(self) -> Incomplete: ... + + # @override - def view(self, dtype: Incomplete = ..., type: Incomplete = ...) -> Incomplete: ... # type: ignore[override] # pyright: ignore[reportIncompatibleMethodOverride] + def view(self, dtype: Incomplete | None = None, type: Incomplete | None = None) -> Incomplete: ... # type: ignore[override] # pyright: ignore[reportIncompatibleMethodOverride] @override def harden_mask(self) -> Incomplete: ... @override @@ -59,41 +78,45 @@ class MaskedRecords(MaskedArray[_ShapeT_co, _DTypeT_co]): @override def copy(self) -> Self: ... # type: ignore[override] # pyright: ignore[reportIncompatibleMethodOverride] @override - def tolist(self, fill_value: Incomplete = ...) -> Incomplete: ... - @override - def __reduce__(self) -> Incomplete: ... + def tolist(self, fill_value: Incomplete | None = None) -> Incomplete: ... + +mrecarray = MaskedRecords def fromarrays( arraylist: Incomplete, - dtype: Incomplete = ..., - shape: Incomplete = ..., - formats: Incomplete = ..., - names: Incomplete = ..., - titles: Incomplete = ..., - aligned: Incomplete = ..., - byteorder: Incomplete = ..., - fill_value: Incomplete = ..., + dtype: Incomplete | None = None, + shape: Incomplete | None = None, + formats: Incomplete | None = None, + names: Incomplete | None = None, + titles: Incomplete | None = None, + aligned: bool = False, + byteorder: Incomplete | None = None, + fill_value: Incomplete | None = None, ) -> Incomplete: ... + +# def fromrecords( reclist: Incomplete, - dtype: Incomplete = ..., - shape: Incomplete = ..., - formats: Incomplete = ..., - names: Incomplete = ..., - titles: Incomplete = ..., - aligned: Incomplete = ..., - byteorder: Incomplete = ..., - fill_value: Incomplete = ..., + dtype: Incomplete | None = None, + shape: Incomplete | None = None, + formats: Incomplete | None = None, + names: Incomplete | None = None, + titles: Incomplete | None = None, + aligned: bool = False, + byteorder: Incomplete | None = None, + fill_value: Incomplete | None = None, mask: Incomplete = ..., ) -> Incomplete: ... + +# def fromtextfile( fname: Incomplete, - delimiter: Incomplete = ..., - commentchar: Incomplete = ..., - missingchar: Incomplete = ..., - varnames: Incomplete = ..., - vartypes: Incomplete = ..., + delimiter: Incomplete | None = None, + commentchar: str = "#", + missingchar: str = "", + varnames: Incomplete | None = None, + vartypes: Incomplete | None = None, ) -> Incomplete: ... -def addfield(mrecord: Incomplete, newfield: Incomplete, newfieldname: Incomplete = ...) -> Incomplete: ... -mrecarray = MaskedRecords +# +def addfield(mrecord: Incomplete, newfield: Incomplete, newfieldname: Incomplete | None = None) -> Incomplete: ...