From a0c43a0abf8f408c047e110db238e6bb25c045dc Mon Sep 17 00:00:00 2001 From: jorenham Date: Wed, 8 Oct 2025 22:01:48 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20add=20missing=20`=5F=5Fslots=5F?= =?UTF-8?q?=5F`=20annotations?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/numpy-stubs/exceptions.pyi | 2 ++ src/numpy-stubs/lib/_index_tricks_impl.pyi | 14 +++++++++++++- src/numpy-stubs/ma/extras.pyi | 7 ++++++- 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/src/numpy-stubs/exceptions.pyi b/src/numpy-stubs/exceptions.pyi index 2748a153..6f04ea78 100644 --- a/src/numpy-stubs/exceptions.pyi +++ b/src/numpy-stubs/exceptions.pyi @@ -17,6 +17,8 @@ class TooHardError(RuntimeError): ... class DTypePromotionError(TypeError): ... class AxisError(ValueError, IndexError): + __slots__ = "_msg", "axis", "ndim" + axis: int | None ndim: int | None @overload diff --git a/src/numpy-stubs/lib/_index_tricks_impl.pyi b/src/numpy-stubs/lib/_index_tricks_impl.pyi index dface2d3..aac54d33 100644 --- a/src/numpy-stubs/lib/_index_tricks_impl.pyi +++ b/src/numpy-stubs/lib/_index_tricks_impl.pyi @@ -98,6 +98,8 @@ class ndindex: def ndincr(self, /) -> None: ... class nd_grid(Generic[_BoolT_co]): + __slots__: ClassVar[tuple[str, ...]] = ("sparse",) + sparse: _BoolT_co def __init__(self, sparse: _BoolT_co = ...) -> None: ... @overload @@ -107,14 +109,18 @@ class nd_grid(Generic[_BoolT_co]): @final class MGridClass(nd_grid[L[False]]): + __slots__ = () + def __init__(self) -> None: ... @final class OGridClass(nd_grid[L[True]]): + __slots__ = () + def __init__(self) -> None: ... class AxisConcatenator(Generic[_AxisT_co, _MatrixT_co, _NDMinT_co, _Trans1DT_co]): - __slots__ = "axis", "matrix", "ndmin", "trans1d" + __slots__: ClassVar[tuple[str, ...]] = "axis", "matrix", "ndmin", "trans1d" makemat: ClassVar[type[_nt.Matrix]] @@ -147,13 +153,19 @@ class AxisConcatenator(Generic[_AxisT_co, _MatrixT_co, _NDMinT_co, _Trans1DT_co] @final class RClass(AxisConcatenator[L[0], L[False], L[1], L[-1]]): + __slots__ = () + def __init__(self, /) -> None: ... @final class CClass(AxisConcatenator[L[-1], L[False], L[2], L[0]]): + __slots__ = () + def __init__(self, /) -> None: ... class IndexExpression(Generic[_BoolT_co]): + __slots__ = ("maketuple",) + maketuple: _BoolT_co def __init__(self, /, maketuple: _BoolT_co) -> None: ... # diff --git a/src/numpy-stubs/ma/extras.pyi b/src/numpy-stubs/ma/extras.pyi index a5ec3259..cc5e9d44 100644 --- a/src/numpy-stubs/ma/extras.pyi +++ b/src/numpy-stubs/ma/extras.pyi @@ -1,5 +1,5 @@ from _typeshed import Incomplete -from typing import Final +from typing import Final, final from typing_extensions import override import _numtype as _nt @@ -80,6 +80,8 @@ class _fromnxfunction_allargs(_fromnxfunction): def __call__(self, *args: Incomplete, **params: Incomplete) -> Incomplete: ... class MAxisConcatenator(AxisConcatenator): + __slots__ = () + @staticmethod @override def concatenate(arrays: Incomplete, axis: int = 0) -> Incomplete: ... # type: ignore[override] # pyright: ignore[reportIncompatibleMethodOverride] @@ -87,7 +89,10 @@ class MAxisConcatenator(AxisConcatenator): @override def makemat(cls, arr: Incomplete) -> Incomplete: ... # type: ignore[override] # pyright: ignore[reportIncompatibleVariableOverride] +@final class mr_class(MAxisConcatenator): + __slots__ = () + def __init__(self) -> None: ... def count_masked(arr: Incomplete, axis: Incomplete = ...) -> Incomplete: ...