11from collections .abc import Sequence
22from typing import (
33 Any ,
4+ Never ,
45 overload ,
56)
67
@@ -23,7 +24,11 @@ from pandas._libs.tslibs.nattype import NaTType
2324from pandas ._libs .tslibs .timedeltas import Timedelta
2425from pandas ._libs .tslibs .timestamps import Timestamp
2526from pandas ._typing import (
26- PandasBooleanDtypeArg ,
27+ BooleanDtypeArg ,
28+ FloatDtypeArg ,
29+ IntDtypeArg ,
30+ TimedeltaDtypeArg ,
31+ TimestampDtypeArg ,
2732 np_ndarray ,
2833 np_ndarray_anyint ,
2934 np_ndarray_bool ,
@@ -36,12 +41,12 @@ from pandas.core.dtypes.dtypes import ExtensionDtype
3641
3742@overload
3843def array ( # type: ignore[overload-overlap] # pyright: ignore[reportOverlappingOverload]
39- data : Sequence [bool | np . bool | NAType | None ] | np_ndarray_bool | BooleanArray ,
40- dtype : PandasBooleanDtypeArg | 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 ,
@@ -55,32 +60,21 @@ def array( # type: ignore[overload-overlap]
5560 | Index [bool ]
5661 | Series [int ]
5762 ),
58- dtype : str | np . dtype | ExtensionDtype | None = None ,
63+ dtype : BooleanDtypeArg | None = None ,
5964 copy : bool = True ,
6065) -> BooleanArray : ...
6166@overload
6267def 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 ,
68+ data : Sequence [int | np .integer | NAType | None ] | np_ndarray_anyint | IntegerArray ,
69+ dtype : IntDtypeArg | None = None ,
7270 copy : bool = True ,
7371) -> IntegerArray : ...
7472@overload
7573def array ( # type: ignore[overload-overlap]
7674 data : (
77- Sequence [float | np .floating | NAType | None ]
78- | np_ndarray_float
79- | FloatingArray
80- | Index [float ]
81- | Series [float ]
75+ Sequence [float | np .floating | NAType | None ] | np_ndarray_float | FloatingArray
8276 ),
83- dtype : str | np . dtype | ExtensionDtype | None = None ,
77+ dtype : FloatDtypeArg | None = None ,
8478 copy : bool = True ,
8579) -> FloatingArray : ...
8680@overload
@@ -92,7 +86,7 @@ def array( # type: ignore[overload-overlap]
9286 | DatetimeIndex
9387 | Series [Timestamp ]
9488 ),
95- dtype : str | np . dtype | ExtensionDtype | None = None ,
89+ dtype : TimestampDtypeArg | None = None ,
9690 copy : bool = True ,
9791) -> DatetimeArray : ...
9892@overload
@@ -104,12 +98,18 @@ def array( # type: ignore[overload-overlap]
10498 | TimedeltaIndex
10599 | Series [Timedelta ]
106100 ),
107- dtype : str | np . dtype | ExtensionDtype | None = None ,
101+ dtype : TimedeltaDtypeArg | None = None ,
108102 copy : bool = True ,
109103) -> TimedeltaArray : ...
110104@overload
111105def array (
112- data : Sequence [Any ] | np_ndarray | ExtensionArray | Index | Series ,
106+ data : Sequence [object ] | np . typing . NDArray [ np . object_ ] | RangeIndex ,
113107 dtype : str | np .dtype | ExtensionDtype | None = None ,
114108 copy : bool = True ,
115109) -> NumpyExtensionArray : ...
110+ @overload
111+ def array (
112+ data : Sequence [Any ] | np_ndarray | ExtensionArray | Index [Any ] | Series [Any ],
113+ dtype : str | np .dtype | ExtensionDtype | None = None ,
114+ copy : bool = True ,
115+ ) -> ExtensionArray : ...
0 commit comments