Skip to content

Commit 54fb603

Browse files
authored
CLN: remove unneeded mixin classes (#1575)
* remove unneded mixin classes * clean test * keep * fixup
1 parent b27eebd commit 54fb603

File tree

8 files changed

+19
-44
lines changed

8 files changed

+19
-44
lines changed

pandas-stubs/api/extensions/__init__.pyi

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,7 @@ from pandas.core.accessor import (
44
register_series_accessor as register_series_accessor,
55
)
66
from pandas.core.algorithms import take as take
7-
from pandas.core.arrays import (
8-
ExtensionArray as ExtensionArray,
9-
ExtensionScalarOpsMixin as ExtensionScalarOpsMixin,
10-
)
7+
from pandas.core.arrays import ExtensionArray as ExtensionArray
118

129
from pandas._libs.lib import no_default as no_default
1310

pandas-stubs/core/arrays/__init__.pyi

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,4 @@
1-
from pandas.core.arrays.base import (
2-
ExtensionArray as ExtensionArray,
3-
ExtensionOpsMixin as ExtensionOpsMixin,
4-
ExtensionScalarOpsMixin as ExtensionScalarOpsMixin,
5-
)
1+
from pandas.core.arrays.base import ExtensionArray as ExtensionArray
62
from pandas.core.arrays.boolean import BooleanArray as BooleanArray
73
from pandas.core.arrays.categorical import Categorical as Categorical
84
from pandas.core.arrays.datetimes import DatetimeArray as DatetimeArray

pandas-stubs/core/arrays/base.pyi

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -119,13 +119,3 @@ class ExtensionArray:
119119
skipna: bool = True,
120120
**kwargs: Any,
121121
) -> Self: ...
122-
123-
class ExtensionOpsMixin:
124-
@classmethod
125-
def _add_arithmetic_ops(cls) -> None: ...
126-
@classmethod
127-
def _add_comparison_ops(cls) -> None: ...
128-
@classmethod
129-
def _add_logical_ops(cls) -> None: ...
130-
131-
class ExtensionScalarOpsMixin(ExtensionOpsMixin): ...

pandas-stubs/core/arrays/datetimelike.pyi

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,7 @@ from typing import (
55
overload,
66
)
77

8-
from pandas.core.arrays.base import (
9-
ExtensionArray,
10-
ExtensionOpsMixin,
11-
)
8+
from pandas.core.arrays.base import ExtensionArray
129
from typing_extensions import Self
1310

1411
from pandas._libs import (
@@ -55,7 +52,7 @@ class TimelikeOps:
5552
nonexistent: TimeNonexistent = "raise",
5653
): ...
5754

58-
class DatetimeLikeArrayMixin(ExtensionOpsMixin, ExtensionArray):
55+
class DatetimeLikeArrayMixin(ExtensionArray):
5956
@property
6057
def ndim(self) -> int: ...
6158
@property

pandas-stubs/core/arrays/masked.pyi

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,7 @@ from typing import (
33
overload,
44
)
55

6-
from pandas.core.arrays import (
7-
ExtensionArray as ExtensionArray,
8-
ExtensionOpsMixin,
9-
)
6+
from pandas.core.arrays import ExtensionArray as ExtensionArray
107
from typing_extensions import Self
118

129
from pandas._typing import (
@@ -18,7 +15,7 @@ from pandas._typing import (
1815
npt,
1916
)
2017

21-
class BaseMaskedArray(ExtensionArray, ExtensionOpsMixin):
18+
class BaseMaskedArray(ExtensionArray):
2219
@overload
2320
def __getitem__(self, item: ScalarIndexer) -> Any: ...
2421
@overload

pandas-stubs/core/arrays/numpy_.pyi

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,7 @@ from typing import Any
33

44
import numpy as np
55
from numpy.lib.mixins import NDArrayOperatorsMixin
6-
from pandas.core.arrays.base import (
7-
ExtensionArray,
8-
ExtensionOpsMixin,
9-
)
6+
from pandas.core.arrays.base import ExtensionArray
107

118
from pandas.core.dtypes.dtypes import ExtensionDtype
129

@@ -21,4 +18,4 @@ class PandasDtype(ExtensionDtype):
2118
@property
2219
def itemsize(self) -> int: ...
2320

24-
class PandasArray(ExtensionArray, ExtensionOpsMixin, NDArrayOperatorsMixin): ...
21+
class PandasArray(ExtensionArray, NDArrayOperatorsMixin): ...

pandas-stubs/core/arrays/sparse/array.pyi

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,7 @@ from typing import (
55
overload,
66
)
77

8-
from pandas.core.arrays import (
9-
ExtensionArray,
10-
ExtensionOpsMixin,
11-
)
8+
from pandas.core.arrays import ExtensionArray
129
from typing_extensions import Self
1310

1411
from pandas._typing import (
@@ -22,7 +19,7 @@ from pandas._typing import (
2219
class ellipsis(Enum):
2320
Ellipsis = "..."
2421

25-
class SparseArray(ExtensionArray, ExtensionOpsMixin):
22+
class SparseArray(ExtensionArray):
2623
def __init__(
2724
self,
2825
data,

tests/extension/decimal/array.py

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,7 @@
2727
)
2828
from pandas.core import arraylike
2929
from pandas.core.arraylike import OpsMixin
30-
from pandas.core.arrays import (
31-
ExtensionArray,
32-
ExtensionScalarOpsMixin,
33-
)
30+
from pandas.core.arrays import ExtensionArray
3431
from pandas.core.indexers import check_array_indexer
3532
from pandas.core.series import Series
3633
from typing_extensions import Self
@@ -91,7 +88,7 @@ def _is_numeric(self) -> bool:
9188
return True
9289

9390

94-
class DecimalArray(OpsMixin, ExtensionScalarOpsMixin, ExtensionArray):
91+
class DecimalArray(OpsMixin, ExtensionArray):
9592
__array_priority__ = 1000
9693

9794
def __init__(
@@ -355,5 +352,12 @@ def value_counts(self, dropna: bool = True) -> Series:
355352

356353
return value_counts(self.to_numpy(), dropna=dropna)
357354

355+
@classmethod
356+
def _add_arithmetic_ops(cls) -> None: ...
357+
@classmethod
358+
def _add_comparison_ops(cls) -> None: ...
359+
@classmethod
360+
def _add_logical_ops(cls) -> None: ...
361+
358362

359363
DecimalArray._add_arithmetic_ops()

0 commit comments

Comments
 (0)