11from collections .abc import Sequence
22from typing import (
33 Any ,
4+ Never ,
45 overload ,
56)
67
@@ -24,6 +25,10 @@ from pandas._libs.tslibs.timedeltas import Timedelta
2425from pandas ._libs .tslibs .timestamps import Timestamp
2526from pandas ._typing import (
2627 BooleanDtypeArg ,
28+ FloatDtypeArg ,
29+ IntDtypeArg ,
30+ TimedeltaDtypeArg ,
31+ TimestampDtypeArg ,
2732 np_ndarray ,
2833 np_ndarray_anyint ,
2934 np_ndarray_bool ,
@@ -36,51 +41,34 @@ from pandas.core.dtypes.dtypes import ExtensionDtype
3641
3742@overload
3843def array ( # type: ignore[overload-overlap] # pyright: ignore[reportOverlappingOverload]
39- data : Sequence [bool | NAType | None ],
40- dtype : BooleanDtypeArg | None = None ,
44+ data : Sequence [Never ] | Index [ Never ] | Series [ Never ],
45+ dtype : str | np . dtype | ExtensionDtype | None = None ,
4146 copy : bool = True ,
42- ) -> BooleanArray : ...
47+ ) -> ExtensionArray : ...
4348@overload
44- def array ( # type: ignore[overload-overlap] # pyright: ignore[reportOverlappingOverload]
49+ def array ( # type: ignore[overload-overlap]
4550 data : Sequence [NAType | None ],
4651 dtype : str | np .dtype | ExtensionDtype | None = None ,
4752 copy : bool = True ,
4853) -> NumpyExtensionArray : ...
4954@overload
50- def array ( # type: ignore[overload-overlap] # pyright: ignore[reportOverlappingOverload]
51- data : (
52- Sequence [bool | np .bool | NAType | None ]
53- | np_ndarray_bool
54- | BooleanArray
55- | Index [bool ]
56- | Series [int ]
57- ),
58- dtype : str | np .dtype | ExtensionDtype | None = None ,
55+ def array ( # type: ignore[overload-overlap]
56+ data : Sequence [bool | np .bool | NAType | None ] | np_ndarray_bool | BooleanArray ,
57+ dtype : BooleanDtypeArg | None = None ,
5958 copy : bool = True ,
6059) -> BooleanArray : ...
6160@overload
6261def array ( # type: ignore[overload-overlap]
63- data : (
64- Sequence [int | np .integer | NAType | None ]
65- | np_ndarray_anyint
66- | IntegerArray
67- | Index [int ]
68- | RangeIndex
69- | Series [int ]
70- ),
71- dtype : str | np .dtype | ExtensionDtype | None = None ,
62+ data : Sequence [int | np .integer | NAType | None ] | np_ndarray_anyint | IntegerArray ,
63+ dtype : IntDtypeArg | None = None ,
7264 copy : bool = True ,
7365) -> IntegerArray : ...
7466@overload
7567def array ( # type: ignore[overload-overlap]
7668 data : (
77- Sequence [float | np .floating | NAType | None ]
78- | np_ndarray_float
79- | FloatingArray
80- | Index [float ]
81- | Series [float ]
69+ Sequence [float | np .floating | NAType | None ] | np_ndarray_float | FloatingArray
8270 ),
83- dtype : str | np . dtype | ExtensionDtype | None = None ,
71+ dtype : FloatDtypeArg | None = None ,
8472 copy : bool = True ,
8573) -> FloatingArray : ...
8674@overload
@@ -92,7 +80,7 @@ def array( # type: ignore[overload-overlap]
9280 | DatetimeIndex
9381 | Series [Timestamp ]
9482 ),
95- dtype : str | np . dtype | ExtensionDtype | None = None ,
83+ dtype : TimestampDtypeArg | None = None ,
9684 copy : bool = True ,
9785) -> DatetimeArray : ...
9886@overload
@@ -104,12 +92,18 @@ def array( # type: ignore[overload-overlap]
10492 | TimedeltaIndex
10593 | Series [Timedelta ]
10694 ),
107- dtype : str | np . dtype | ExtensionDtype | None = None ,
95+ dtype : TimedeltaDtypeArg | None = None ,
10896 copy : bool = True ,
10997) -> TimedeltaArray : ...
11098@overload
11199def array (
112- data : Sequence [Any ] | np_ndarray | ExtensionArray | Index | Series ,
100+ data : Sequence [object ] | np . typing . NDArray [ np . object_ ] | RangeIndex ,
113101 dtype : str | np .dtype | ExtensionDtype | None = None ,
114102 copy : bool = True ,
115103) -> NumpyExtensionArray : ...
104+ @overload
105+ def array (
106+ data : Sequence [Any ] | np_ndarray | ExtensionArray | Index [Any ] | Series [Any ],
107+ dtype : str | np .dtype | ExtensionDtype | None = None ,
108+ copy : bool = True ,
109+ ) -> ExtensionArray : ...
0 commit comments