diff --git a/pandas/core/arrays/string_.py b/pandas/core/arrays/string_.py index de129df2575d3..b92504fe507cd 100644 --- a/pandas/core/arrays/string_.py +++ b/pandas/core/arrays/string_.py @@ -28,7 +28,10 @@ pa_version_under10p1, ) from pandas.compat.numpy import function as nv -from pandas.util._decorators import doc +from pandas.util._decorators import ( + doc, + set_module, +) from pandas.util._exceptions import find_stack_level from pandas.core.dtypes.base import ( @@ -86,6 +89,7 @@ from pandas import Series +@set_module("pandas") @register_extension_dtype class StringDtype(StorageExtensionDtype): """ @@ -374,6 +378,7 @@ def __from_arrow__( return new_string_array +@set_module("pandas") class BaseStringArray(ExtensionArray): """ Mixin class for StringArray, ArrowStringArray. @@ -532,6 +537,8 @@ def _str_map_nan_semantics( # error: Definition of "_concat_same_type" in base class "NDArrayBacked" is # incompatible with definition in base class "ExtensionArray" + + class StringArray(BaseStringArray, NumpyExtensionArray): # type: ignore[misc] """ Extension array for string data. @@ -721,7 +728,8 @@ def __arrow_array__(self, type=None): values[self.isna()] = None return pa.array(values, type=type, from_pandas=True) - def _values_for_factorize(self) -> tuple[np.ndarray, libmissing.NAType | float]: # type: ignore[override] + # type: ignore[override] + def _values_for_factorize(self) -> tuple[np.ndarray, libmissing.NAType | float]: arr = self._ndarray return arr, self.dtype.na_value diff --git a/pandas/tests/api/test_api.py b/pandas/tests/api/test_api.py index 842fa1a151267..68650e24f8d19 100644 --- a/pandas/tests/api/test_api.py +++ b/pandas/tests/api/test_api.py @@ -416,3 +416,7 @@ def test_set_module(): assert pd.Period.__module__ == "pandas" assert pd.Timestamp.__module__ == "pandas" assert pd.Timedelta.__module__ == "pandas" + assert pd.StringDtype.__module__ == "pandas" + assert pd.BaseStringArray.__module__ == "pandas" + assert pd.StringArrayNumpySemantics.___module__ == "pandas" + assert pd.StringArray.__module__ == "pandas"