1"""
2Implementation of pandas.Series.str and its interface.
3
4* strings.accessor.StringMethods : Accessor for Series.str
5* strings.base.BaseStringArrayMethods: Mixin ABC for EAs to implement str methods
6
7Most methods on the StringMethods accessor follow the pattern:
8
9 1. extract the array from the series (or index)
10 2. Call that array's implementation of the string method
11 3. Wrap the result (in a Series, index, or DataFrame)
12
13Pandas extension arrays implementing string methods should inherit from
14pandas.core.strings.base.BaseStringArrayMethods. This is an ABC defining
15the various string methods. To avoid namespace clashes and pollution,
16these are prefixed with `_str_`. So ``Series.str.upper()`` calls
17``Series.array._str_upper()``. The interface isn't currently public
18to other string extension arrays.
19"""
20# Pandas current implementation is in ObjectStringArrayMixin. This is designed
21# to work on object-dtype ndarrays.
22#
23# BaseStringArrayMethods
24# - ObjectStringArrayMixin
25# - StringArray
26# - PandasArray
27# - Categorical
28# - ArrowStringArray