# TODO: Sort out any and all missing functions in this namespace
import datetime as dt
from _typeshed import StrOrBytesPath, SupportsLenAndGetItem
from collections.abc import Sequence, Callable, Iterable
from typing import (
Literal as L,
Any,
TypeAlias,
overload,
TypeVar,
TypedDict,
SupportsIndex,
final,
Final,
Protocol,
ClassVar,
type_check_only,
)
from typing_extensions import CapsuleType, Unpack
import numpy as np
from numpy import ( # type: ignore[attr-defined]
# Re-exports
busdaycalendar,
broadcast,
correlate,
count_nonzero,
dtype,
einsum as c_einsum,
flatiter,
from_dlpack,
interp,
matmul,
ndarray,
nditer,
vecdot,
# The rest
ufunc,
str_,
uint8,
intp,
int_,
float64,
timedelta64,
datetime64,
generic,
unsignedinteger,
signedinteger,
floating,
complexfloating,
_OrderKACF,
_OrderCF,
_CastingKind,
_ModeKind,
_SupportsBuffer,
_SupportsFileMethods,
_CopyMode,
_NDIterFlagsKind,
_NDIterFlagsOp,
)
from numpy.lib._array_utils_impl import normalize_axis_index
from numpy._typing import (
# Shapes
_ShapeLike,
# DTypes
DTypeLike,
_DTypeLike,
_SupportsDType,
# Arrays
NDArray,
ArrayLike,
_ArrayLike,
_SupportsArrayFunc,
_NestedSequence,
_ArrayLikeBool_co,
_ArrayLikeUInt_co,
_ArrayLikeInt_co,
_ArrayLikeFloat_co,
_ArrayLikeComplex_co,
_ArrayLikeTD64_co,
_ArrayLikeDT64_co,
_ArrayLikeObject_co,
_ArrayLikeStr_co,
_ArrayLikeBytes_co,
_ScalarLike_co,
_IntLike_co,
_FloatLike_co,
_TD64Like_co,
)
from numpy._typing._ufunc import (
_2PTuple,
_PyFunc_Nin1_Nout1,
_PyFunc_Nin2_Nout1,
_PyFunc_Nin3P_Nout1,
_PyFunc_Nin1P_Nout2P,
)
__all__ = [
"_ARRAY_API",
"ALLOW_THREADS",
"BUFSIZE",
"CLIP",
"DATETIMEUNITS",
"ITEM_HASOBJECT",
"ITEM_IS_POINTER",
"LIST_PICKLE",
"MAXDIMS",
"MAY_SHARE_BOUNDS",
"MAY_SHARE_EXACT",
"NEEDS_INIT",
"NEEDS_PYAPI",
"RAISE",
"USE_GETITEM",
"USE_SETITEM",
"WRAP",
"_flagdict",
"from_dlpack",
"_place",
"_reconstruct",
"_vec_string",
"_monotonicity",
"add_docstring",
"arange",
"array",
"asarray",
"asanyarray",
"ascontiguousarray",
"asfortranarray",
"bincount",
"broadcast",
"busday_count",
"busday_offset",
"busdaycalendar",
"can_cast",
"compare_chararrays",
"concatenate",
"copyto",
"correlate",
"correlate2",
"count_nonzero",
"c_einsum",
"datetime_as_string",
"datetime_data",
"dot",
"dragon4_positional",
"dragon4_scientific",
"dtype",
"empty",
"empty_like",
"error",
"flagsobj",
"flatiter",
"format_longfloat",
"frombuffer",
"fromfile",
"fromiter",
"fromstring",
"get_handler_name",
"get_handler_version",
"inner",
"interp",
"interp_complex",
"is_busday",
"lexsort",
"matmul",
"vecdot",
"may_share_memory",
"min_scalar_type",
"ndarray",
"nditer",
"nested_iters",
"normalize_axis_index",
"packbits",
"promote_types",
"putmask",
"ravel_multi_index",
"result_type",
"scalar",
"set_datetimeparse_function",
"set_typeDict",
"shares_memory",
"typeinfo",
"unpackbits",
"unravel_index",
"vdot",
"where",
"zeros",
]
_T_co = TypeVar("_T_co", covariant=True)
_T_contra = TypeVar("_T_contra", contravariant=True)
_SCT = TypeVar("_SCT", bound=generic)
_DType = TypeVar("_DType", bound=np.dtype[Any])
_ArrayType = TypeVar("_ArrayType", bound=ndarray[Any, Any])
_ArrayType_co = TypeVar(
"_ArrayType_co",
bound=ndarray[Any, Any],
covariant=True,
)
_ReturnType = TypeVar("_ReturnType")
_IDType = TypeVar("_IDType")
_Nin = TypeVar("_Nin", bound=int)
_Nout = TypeVar("_Nout", bound=int)
_SizeType = TypeVar("_SizeType", bound=int)
_ShapeType = TypeVar("_ShapeType", bound=tuple[int, ...])
_1DArray: TypeAlias = ndarray[tuple[_SizeType], dtype[_SCT]]
_Array: TypeAlias = ndarray[_ShapeType, dtype[_SCT]]
# Valid time units
_UnitKind: TypeAlias = L[
"Y",
"M",
"D",
"h",
"m",
"s",
"ms",
"us", "μs",
"ns",
"ps",
"fs",
"as",
]
_RollKind: TypeAlias = L[ # `raise` is deliberately excluded
"nat",
"forward",
"following",
"backward",
"preceding",
"modifiedfollowing",
"modifiedpreceding",
]
@type_check_only
class _SupportsArray(Protocol[_ArrayType_co]):
def __array__(self, /) -> _ArrayType_co: ...
@type_check_only
class _KwargsEmpty(TypedDict, total=False):
device: None | L["cpu"]
like: None | _SupportsArrayFunc
@type_check_only
class _ConstructorEmpty(Protocol):
# 1-D shape
@overload
def __call__(
self, /,
shape: _SizeType,
dtype: None = ...,
order: _OrderCF = ...,
**kwargs: Unpack[_KwargsEmpty],
) -> _Array[tuple[_SizeType], float64]: ...
@overload
def __call__(
self, /,
shape: _SizeType,
dtype: _DType | _SupportsDType[_DType],
order: _OrderCF = ...,
**kwargs: Unpack[_KwargsEmpty],
) -> ndarray[tuple[_SizeType], _DType]: ...
@overload
def __call__(
self, /,
shape: _SizeType,
dtype: type[_SCT],
order: _OrderCF = ...,
**kwargs: Unpack[_KwargsEmpty],
) -> _Array[tuple[_SizeType], _SCT]: ...
@overload
def __call__(
self, /,
shape: _SizeType,
dtype: DTypeLike,
order: _OrderCF = ...,
**kwargs: Unpack[_KwargsEmpty],
) -> _Array[tuple[_SizeType], Any]: ...
# known shape
@overload
def __call__(
self, /,
shape: _ShapeType,
dtype: None = ...,
order: _OrderCF = ...,
**kwargs: Unpack[_KwargsEmpty],
) -> _Array[_ShapeType, float64]: ...
@overload
def __call__(
self, /,
shape: _ShapeType,
dtype: _DType | _SupportsDType[_DType],
order: _OrderCF = ...,
**kwargs: Unpack[_KwargsEmpty],
) -> ndarray[_ShapeType, _DType]: ...
@overload
def __call__(
self, /,
shape: _ShapeType,
dtype: type[_SCT],
order: _OrderCF = ...,
**kwargs: Unpack[_KwargsEmpty],
) -> _Array[_ShapeType, _SCT]: ...
@overload
def __call__(
self, /,
shape: _ShapeType,
dtype: DTypeLike,
order: _OrderCF = ...,
**kwargs: Unpack[_KwargsEmpty],
) -> _Array[_ShapeType, Any]: ...
# unknown shape
@overload
def __call__(
self, /,
shape: _ShapeLike,
dtype: None = ...,
order: _OrderCF = ...,
**kwargs: Unpack[_KwargsEmpty],
) -> NDArray[float64]: ...
@overload
def __call__(
self, /,
shape: _ShapeLike,
dtype: _DType | _SupportsDType[_DType],
order: _OrderCF = ...,
**kwargs: Unpack[_KwargsEmpty],
) -> ndarray[Any, _DType]: ...
@overload
def __call__(
self, /,
shape: _ShapeLike,
dtype: type[_SCT],
order: _OrderCF = ...,
**kwargs: Unpack[_KwargsEmpty],
) -> NDArray[_SCT]: ...
@overload
def __call__(
self, /,
shape: _ShapeLike,
dtype: DTypeLike,
order: _OrderCF = ...,
**kwargs: Unpack[_KwargsEmpty],
) -> NDArray[Any]: ...
error: Final = Exception
# from ._multiarray_umath
ITEM_HASOBJECT: Final[L[1]]
LIST_PICKLE: Final[L[2]]
ITEM_IS_POINTER: Final[L[4]]
NEEDS_INIT: Final[L[8]]
NEEDS_PYAPI: Final[L[16]]
USE_GETITEM: Final[L[32]]
USE_SETITEM: Final[L[64]]
DATETIMEUNITS: Final[CapsuleType]
_ARRAY_API: Final[CapsuleType]
_flagdict: Final[dict[str, int]]
_monotonicity: Final[Callable[..., object]]
_place: Final[Callable[..., object]]
_reconstruct: Final[Callable[..., object]]
_vec_string: Final[Callable[..., object]]
correlate2: Final[Callable[..., object]]
dragon4_positional: Final[Callable[..., object]]
dragon4_scientific: Final[Callable[..., object]]
interp_complex: Final[Callable[..., object]]
set_datetimeparse_function: Final[Callable[..., object]]
def get_handler_name(a: NDArray[Any] = ..., /) -> str | None: ...
def get_handler_version(a: NDArray[Any] = ..., /) -> int | None: ...
def format_longfloat(x: np.longdouble, precision: int) -> str: ...
def scalar(dtype: _DType, object: bytes | object = ...) -> ndarray[tuple[()], _DType]: ...
def set_typeDict(dict_: dict[str, np.dtype[Any]], /) -> None: ...
typeinfo: Final[dict[str, np.dtype[np.generic]]]
ALLOW_THREADS: Final[int] # 0 or 1 (system-specific)
BUFSIZE: L[8192]
CLIP: L[0]
WRAP: L[1]
RAISE: L[2]
MAXDIMS: L[32]
MAY_SHARE_BOUNDS: L[0]
MAY_SHARE_EXACT: L[-1]
tracemalloc_domain: L[389047]
zeros: Final[_ConstructorEmpty]
empty: Final[_ConstructorEmpty]
@overload
def empty_like(
prototype: _ArrayType,
dtype: None = ...,
order: _OrderKACF = ...,
subok: bool = ...,
shape: None | _ShapeLike = ...,
*,
device: None | L["cpu"] = ...,
) -> _ArrayType: ...
@overload
def empty_like(
prototype: _ArrayLike[_SCT],
dtype: None = ...,
order: _OrderKACF = ...,
subok: bool = ...,
shape: None | _ShapeLike = ...,
*,
device: None | L["cpu"] = ...,
) -> NDArray[_SCT]: ...
@overload
def empty_like(
prototype: object,
dtype: None = ...,
order: _OrderKACF = ...,
subok: bool = ...,
shape: None | _ShapeLike = ...,
*,
device: None | L["cpu"] = ...,
) -> NDArray[Any]: ...
@overload
def empty_like(
prototype: Any,
dtype: _DTypeLike[_SCT],
order: _OrderKACF = ...,
subok: bool = ...,
shape: None | _ShapeLike = ...,
*,
device: None | L["cpu"] = ...,
) -> NDArray[_SCT]: ...
@overload
def empty_like(
prototype: Any,
dtype: DTypeLike,
order: _OrderKACF = ...,
subok: bool = ...,
shape: None | _ShapeLike = ...,
*,
device: None | L["cpu"] = ...,
) -> NDArray[Any]: ...
@overload
def array(
object: _ArrayType,
dtype: None = ...,
*,
copy: None | bool | _CopyMode = ...,
order: _OrderKACF = ...,
subok: L[True],
ndmin: int = ...,
like: None | _SupportsArrayFunc = ...,
) -> _ArrayType: ...
@overload
def array(
object: _SupportsArray[_ArrayType],
dtype: None = ...,
*,
copy: None | bool | _CopyMode = ...,
order: _OrderKACF = ...,
subok: L[True],
ndmin: L[0] = ...,
like: None | _SupportsArrayFunc = ...,
) -> _ArrayType: ...
@overload
def array(
object: _ArrayLike[_SCT],
dtype: None = ...,
*,
copy: None | bool | _CopyMode = ...,
order: _OrderKACF = ...,
subok: bool = ...,
ndmin: int = ...,
like: None | _SupportsArrayFunc = ...,
) -> NDArray[_SCT]: ...
@overload
def array(
object: object,
dtype: None = ...,
*,
copy: None | bool | _CopyMode = ...,
order: _OrderKACF = ...,
subok: bool = ...,
ndmin: int = ...,
like: None | _SupportsArrayFunc = ...,
) -> NDArray[Any]: ...
@overload
def array(
object: Any,
dtype: _DTypeLike[_SCT],
*,
copy: None | bool | _CopyMode = ...,
order: _OrderKACF = ...,
subok: bool = ...,
ndmin: int = ...,
like: None | _SupportsArrayFunc = ...,
) -> NDArray[_SCT]: ...
@overload
def array(
object: Any,
dtype: DTypeLike,
*,
copy: None | bool | _CopyMode = ...,
order: _OrderKACF = ...,
subok: bool = ...,
ndmin: int = ...,
like: None | _SupportsArrayFunc = ...,
) -> NDArray[Any]: ...
@overload
def unravel_index( # type: ignore[misc]
indices: _IntLike_co,
shape: _ShapeLike,
order: _OrderCF = ...,
) -> tuple[intp, ...]: ...
@overload
def unravel_index(
indices: _ArrayLikeInt_co,
shape: _ShapeLike,
order: _OrderCF = ...,
) -> tuple[NDArray[intp], ...]: ...
@overload
def ravel_multi_index( # type: ignore[misc]
multi_index: Sequence[_IntLike_co],
dims: Sequence[SupportsIndex],
mode: _ModeKind | tuple[_ModeKind, ...] = ...,
order: _OrderCF = ...,
) -> intp: ...
@overload
def ravel_multi_index(
multi_index: Sequence[_ArrayLikeInt_co],
dims: Sequence[SupportsIndex],
mode: _ModeKind | tuple[_ModeKind, ...] = ...,
order: _OrderCF = ...,
) -> NDArray[intp]: ...
# NOTE: Allow any sequence of array-like objects
@overload
def concatenate( # type: ignore[misc]
arrays: _ArrayLike[_SCT],
/,
axis: None | SupportsIndex = ...,
out: None = ...,
*,
dtype: None = ...,
casting: None | _CastingKind = ...
) -> NDArray[_SCT]: ...
@overload
def concatenate( # type: ignore[misc]
arrays: SupportsLenAndGetItem[ArrayLike],
/,
axis: None | SupportsIndex = ...,
out: None = ...,
*,
dtype: None = ...,
casting: None | _CastingKind = ...
) -> NDArray[Any]: ...
@overload
def concatenate( # type: ignore[misc]
arrays: SupportsLenAndGetItem[ArrayLike],
/,
axis: None | SupportsIndex = ...,
out: None = ...,
*,
dtype: _DTypeLike[_SCT],
casting: None | _CastingKind = ...
) -> NDArray[_SCT]: ...
@overload
def concatenate( # type: ignore[misc]
arrays: SupportsLenAndGetItem[ArrayLike],
/,
axis: None | SupportsIndex = ...,
out: None = ...,
*,
dtype: DTypeLike,
casting: None | _CastingKind = ...
) -> NDArray[Any]: ...
@overload
def concatenate(
arrays: SupportsLenAndGetItem[ArrayLike],
/,
axis: None | SupportsIndex = ...,
out: _ArrayType = ...,
*,
dtype: DTypeLike = ...,
casting: None | _CastingKind = ...
) -> _ArrayType: ...
def inner(
a: ArrayLike,
b: ArrayLike,
/,
) -> Any: ...
@overload
def where(
condition: ArrayLike,
/,
) -> tuple[NDArray[intp], ...]: ...
@overload
def where(
condition: ArrayLike,
x: ArrayLike,
y: ArrayLike,
/,
) -> NDArray[Any]: ...
def lexsort(
keys: ArrayLike,
axis: None | SupportsIndex = ...,
) -> Any: ...
def can_cast(
from_: ArrayLike | DTypeLike,
to: DTypeLike,
casting: None | _CastingKind = ...,
) -> bool: ...
def min_scalar_type(
a: ArrayLike, /,
) -> dtype[Any]: ...
def result_type(
*arrays_and_dtypes: ArrayLike | DTypeLike,
) -> dtype[Any]: ...
@overload
def dot(a: ArrayLike, b: ArrayLike, out: None = ...) -> Any: ...
@overload
def dot(a: ArrayLike, b: ArrayLike, out: _ArrayType) -> _ArrayType: ...
@overload
def vdot(a: _ArrayLikeBool_co, b: _ArrayLikeBool_co, /) -> np.bool: ... # type: ignore[misc]
@overload
def vdot(a: _ArrayLikeUInt_co, b: _ArrayLikeUInt_co, /) -> unsignedinteger[Any]: ... # type: ignore[misc]
@overload
def vdot(a: _ArrayLikeInt_co, b: _ArrayLikeInt_co, /) -> signedinteger[Any]: ... # type: ignore[misc]
@overload
def vdot(a: _ArrayLikeFloat_co, b: _ArrayLikeFloat_co, /) -> floating[Any]: ... # type: ignore[misc]
@overload
def vdot(a: _ArrayLikeComplex_co, b: _ArrayLikeComplex_co, /) -> complexfloating[Any, Any]: ... # type: ignore[misc]
@overload
def vdot(a: _ArrayLikeTD64_co, b: _ArrayLikeTD64_co, /) -> timedelta64: ...
@overload
def vdot(a: _ArrayLikeObject_co, b: Any, /) -> Any: ...
@overload
def vdot(a: Any, b: _ArrayLikeObject_co, /) -> Any: ...
def bincount(
x: ArrayLike,
/,
weights: None | ArrayLike = ...,
minlength: SupportsIndex = ...,
) -> NDArray[intp]: ...
def copyto(
dst: NDArray[Any],
src: ArrayLike,
casting: None | _CastingKind = ...,
where: None | _ArrayLikeBool_co = ...,
) -> None: ...
def putmask(
a: NDArray[Any],
/,
mask: _ArrayLikeBool_co,
values: ArrayLike,
) -> None: ...
def packbits(
a: _ArrayLikeInt_co,
/,
axis: None | SupportsIndex = ...,
bitorder: L["big", "little"] = ...,
) -> NDArray[uint8]: ...
def unpackbits(
a: _ArrayLike[uint8],
/,
axis: None | SupportsIndex = ...,
count: None | SupportsIndex = ...,
bitorder: L["big", "little"] = ...,
) -> NDArray[uint8]: ...
def shares_memory(
a: object,
b: object,
/,
max_work: None | int = ...,
) -> bool: ...
def may_share_memory(
a: object,
b: object,
/,
max_work: None | int = ...,
) -> bool: ...
@overload
def asarray(
a: _ArrayLike[_SCT],
dtype: None = ...,
order: _OrderKACF = ...,
*,
device: None | L["cpu"] = ...,
copy: None | bool = ...,
like: None | _SupportsArrayFunc = ...,
) -> NDArray[_SCT]: ...
@overload
def asarray(
a: object,
dtype: None = ...,
order: _OrderKACF = ...,
*,
device: None | L["cpu"] = ...,
copy: None | bool = ...,
like: None | _SupportsArrayFunc = ...,
) -> NDArray[Any]: ...
@overload
def asarray(
a: Any,
dtype: _DTypeLike[_SCT],
order: _OrderKACF = ...,
*,
device: None | L["cpu"] = ...,
copy: None | bool = ...,
like: None | _SupportsArrayFunc = ...,
) -> NDArray[_SCT]: ...
@overload
def asarray(
a: Any,
dtype: DTypeLike,
order: _OrderKACF = ...,
*,
device: None | L["cpu"] = ...,
copy: None | bool = ...,
like: None | _SupportsArrayFunc = ...,
) -> NDArray[Any]: ...
@overload
def asanyarray(
a: _ArrayType, # Preserve subclass-information
dtype: None = ...,
order: _OrderKACF = ...,
*,
device: None | L["cpu"] = ...,
copy: None | bool = ...,
like: None | _SupportsArrayFunc = ...,
) -> _ArrayType: ...
@overload
def asanyarray(
a: _ArrayLike[_SCT],
dtype: None = ...,
order: _OrderKACF = ...,
*,
device: None | L["cpu"] = ...,
copy: None | bool = ...,
like: None | _SupportsArrayFunc = ...,
) -> NDArray[_SCT]: ...
@overload
def asanyarray(
a: object,
dtype: None = ...,
order: _OrderKACF = ...,
*,
device: None | L["cpu"] = ...,
copy: None | bool = ...,
like: None | _SupportsArrayFunc = ...,
) -> NDArray[Any]: ...
@overload
def asanyarray(
a: Any,
dtype: _DTypeLike[_SCT],
order: _OrderKACF = ...,
*,
device: None | L["cpu"] = ...,
copy: None | bool = ...,
like: None | _SupportsArrayFunc = ...,
) -> NDArray[_SCT]: ...
@overload
def asanyarray(
a: Any,
dtype: DTypeLike,
order: _OrderKACF = ...,
*,
device: None | L["cpu"] = ...,
copy: None | bool = ...,
like: None | _SupportsArrayFunc = ...,
) -> NDArray[Any]: ...
@overload
def ascontiguousarray(
a: _ArrayLike[_SCT],
dtype: None = ...,
*,
like: None | _SupportsArrayFunc = ...,
) -> NDArray[_SCT]: ...
@overload
def ascontiguousarray(
a: object,
dtype: None = ...,
*,
like: None | _SupportsArrayFunc = ...,
) -> NDArray[Any]: ...
@overload
def ascontiguousarray(
a: Any,
dtype: _DTypeLike[_SCT],
*,
like: None | _SupportsArrayFunc = ...,
) -> NDArray[_SCT]: ...
@overload
def ascontiguousarray(
a: Any,
dtype: DTypeLike,
*,
like: None | _SupportsArrayFunc = ...,
) -> NDArray[Any]: ...
@overload
def asfortranarray(
a: _ArrayLike[_SCT],
dtype: None = ...,
*,
like: None | _SupportsArrayFunc = ...,
) -> NDArray[_SCT]: ...
@overload
def asfortranarray(
a: object,
dtype: None = ...,
*,
like: None | _SupportsArrayFunc = ...,
) -> NDArray[Any]: ...
@overload
def asfortranarray(
a: Any,
dtype: _DTypeLike[_SCT],
*,
like: None | _SupportsArrayFunc = ...,
) -> NDArray[_SCT]: ...
@overload
def asfortranarray(
a: Any,
dtype: DTypeLike,
*,
like: None | _SupportsArrayFunc = ...,
) -> NDArray[Any]: ...
def promote_types(__type1: DTypeLike, __type2: DTypeLike) -> dtype[Any]: ...
# `sep` is a de facto mandatory argument, as its default value is deprecated
@overload
def fromstring(
string: str | bytes,
dtype: None = ...,
count: SupportsIndex = ...,
*,
sep: str,
like: None | _SupportsArrayFunc = ...,
) -> NDArray[float64]: ...
@overload
def fromstring(
string: str | bytes,
dtype: _DTypeLike[_SCT],
count: SupportsIndex = ...,
*,
sep: str,
like: None | _SupportsArrayFunc = ...,
) -> NDArray[_SCT]: ...
@overload
def fromstring(
string: str | bytes,
dtype: DTypeLike,
count: SupportsIndex = ...,
*,
sep: str,
like: None | _SupportsArrayFunc = ...,
) -> NDArray[Any]: ...
@overload
def frompyfunc( # type: ignore[overload-overlap]
func: Callable[[Any], _ReturnType], /,
nin: L[1],
nout: L[1],
*,
identity: None = ...,
) -> _PyFunc_Nin1_Nout1[_ReturnType, None]: ...
@overload
def frompyfunc( # type: ignore[overload-overlap]
func: Callable[[Any], _ReturnType], /,
nin: L[1],
nout: L[1],
*,
identity: _IDType,
) -> _PyFunc_Nin1_Nout1[_ReturnType, _IDType]: ...
@overload
def frompyfunc( # type: ignore[overload-overlap]
func: Callable[[Any, Any], _ReturnType], /,
nin: L[2],
nout: L[1],
*,
identity: None = ...,
) -> _PyFunc_Nin2_Nout1[_ReturnType, None]: ...
@overload
def frompyfunc( # type: ignore[overload-overlap]
func: Callable[[Any, Any], _ReturnType], /,
nin: L[2],
nout: L[1],
*,
identity: _IDType,
) -> _PyFunc_Nin2_Nout1[_ReturnType, _IDType]: ...
@overload
def frompyfunc( # type: ignore[overload-overlap]
func: Callable[..., _ReturnType], /,
nin: _Nin,
nout: L[1],
*,
identity: None = ...,
) -> _PyFunc_Nin3P_Nout1[_ReturnType, None, _Nin]: ...
@overload
def frompyfunc( # type: ignore[overload-overlap]
func: Callable[..., _ReturnType], /,
nin: _Nin,
nout: L[1],
*,
identity: _IDType,
) -> _PyFunc_Nin3P_Nout1[_ReturnType, _IDType, _Nin]: ...
@overload
def frompyfunc(
func: Callable[..., _2PTuple[_ReturnType]], /,
nin: _Nin,
nout: _Nout,
*,
identity: None = ...,
) -> _PyFunc_Nin1P_Nout2P[_ReturnType, None, _Nin, _Nout]: ...
@overload
def frompyfunc(
func: Callable[..., _2PTuple[_ReturnType]], /,
nin: _Nin,
nout: _Nout,
*,
identity: _IDType,
) -> _PyFunc_Nin1P_Nout2P[_ReturnType, _IDType, _Nin, _Nout]: ...
@overload
def frompyfunc(
func: Callable[..., Any], /,
nin: SupportsIndex,
nout: SupportsIndex,
*,
identity: None | object = ...,
) -> ufunc: ...
@overload
def fromfile(
file: StrOrBytesPath | _SupportsFileMethods,
dtype: None = ...,
count: SupportsIndex = ...,
sep: str = ...,
offset: SupportsIndex = ...,
*,
like: None | _SupportsArrayFunc = ...,
) -> NDArray[float64]: ...
@overload
def fromfile(
file: StrOrBytesPath | _SupportsFileMethods,
dtype: _DTypeLike[_SCT],
count: SupportsIndex = ...,
sep: str = ...,
offset: SupportsIndex = ...,
*,
like: None | _SupportsArrayFunc = ...,
) -> NDArray[_SCT]: ...
@overload
def fromfile(
file: StrOrBytesPath | _SupportsFileMethods,
dtype: DTypeLike,
count: SupportsIndex = ...,
sep: str = ...,
offset: SupportsIndex = ...,
*,
like: None | _SupportsArrayFunc = ...,
) -> NDArray[Any]: ...
@overload
def fromiter(
iter: Iterable[Any],
dtype: _DTypeLike[_SCT],
count: SupportsIndex = ...,
*,
like: None | _SupportsArrayFunc = ...,
) -> NDArray[_SCT]: ...
@overload
def fromiter(
iter: Iterable[Any],
dtype: DTypeLike,
count: SupportsIndex = ...,
*,
like: None | _SupportsArrayFunc = ...,
) -> NDArray[Any]: ...
@overload
def frombuffer(
buffer: _SupportsBuffer,
dtype: None = ...,
count: SupportsIndex = ...,
offset: SupportsIndex = ...,
*,
like: None | _SupportsArrayFunc = ...,
) -> NDArray[float64]: ...
@overload
def frombuffer(
buffer: _SupportsBuffer,
dtype: _DTypeLike[_SCT],
count: SupportsIndex = ...,
offset: SupportsIndex = ...,
*,
like: None | _SupportsArrayFunc = ...,
) -> NDArray[_SCT]: ...
@overload
def frombuffer(
buffer: _SupportsBuffer,
dtype: DTypeLike,
count: SupportsIndex = ...,
offset: SupportsIndex = ...,
*,
like: None | _SupportsArrayFunc = ...,
) -> NDArray[Any]: ...
@overload
def arange( # type: ignore[misc]
stop: _IntLike_co,
/, *,
dtype: None = ...,
device: None | L["cpu"] = ...,
like: None | _SupportsArrayFunc = ...,
) -> _1DArray[int, signedinteger[Any]]: ...
@overload
def arange( # type: ignore[misc]
start: _IntLike_co,
stop: _IntLike_co,
step: _IntLike_co = ...,
dtype: None = ...,
*,
device: None | L["cpu"] = ...,
like: None | _SupportsArrayFunc = ...,
) -> _1DArray[int, signedinteger[Any]]: ...
@overload
def arange( # type: ignore[misc]
stop: _FloatLike_co,
/, *,
dtype: None = ...,
device: None | L["cpu"] = ...,
like: None | _SupportsArrayFunc = ...,
) -> _1DArray[int, floating[Any]]: ...
@overload
def arange( # type: ignore[misc]
start: _FloatLike_co,
stop: _FloatLike_co,
step: _FloatLike_co = ...,
dtype: None = ...,
*,
device: None | L["cpu"] = ...,
like: None | _SupportsArrayFunc = ...,
) -> _1DArray[int, floating[Any]]: ...
@overload
def arange(
stop: _TD64Like_co,
/, *,
dtype: None = ...,
device: None | L["cpu"] = ...,
like: None | _SupportsArrayFunc = ...,
) -> _1DArray[int, timedelta64]: ...
@overload
def arange(
start: _TD64Like_co,
stop: _TD64Like_co,
step: _TD64Like_co = ...,
dtype: None = ...,
*,
device: None | L["cpu"] = ...,
like: None | _SupportsArrayFunc = ...,
) -> _1DArray[int, timedelta64]: ...
@overload
def arange( # both start and stop must always be specified for datetime64
start: datetime64,
stop: datetime64,
step: datetime64 = ...,
dtype: None = ...,
*,
device: None | L["cpu"] = ...,
like: None | _SupportsArrayFunc = ...,
) -> _1DArray[int, datetime64]: ...
@overload
def arange(
stop: Any,
/, *,
dtype: _DTypeLike[_SCT],
device: None | L["cpu"] = ...,
like: None | _SupportsArrayFunc = ...,
) -> _1DArray[int, _SCT]: ...
@overload
def arange(
start: Any,
stop: Any,
step: Any = ...,
dtype: _DTypeLike[_SCT] = ...,
*,
device: None | L["cpu"] = ...,
like: None | _SupportsArrayFunc = ...,
) -> _1DArray[int, _SCT]: ...
@overload
def arange(
stop: Any, /,
*,
dtype: DTypeLike,
device: None | L["cpu"] = ...,
like: None | _SupportsArrayFunc = ...,
) -> _1DArray[int, Any]: ...
@overload
def arange(
start: Any,
stop: Any,
step: Any = ...,
dtype: DTypeLike = ...,
*,
device: None | L["cpu"] = ...,
like: None | _SupportsArrayFunc = ...,
) -> _1DArray[int, Any]: ...
def datetime_data(
dtype: str | _DTypeLike[datetime64] | _DTypeLike[timedelta64], /,
) -> tuple[str, int]: ...
# The datetime functions perform unsafe casts to `datetime64[D]`,
# so a lot of different argument types are allowed here
@overload
def busday_count( # type: ignore[misc]
begindates: _ScalarLike_co | dt.date,
enddates: _ScalarLike_co | dt.date,
weekmask: ArrayLike = ...,
holidays: None | ArrayLike | dt.date | _NestedSequence[dt.date] = ...,
busdaycal: None | busdaycalendar = ...,
out: None = ...,
) -> int_: ...
@overload
def busday_count( # type: ignore[misc]
begindates: ArrayLike | dt.date | _NestedSequence[dt.date],
enddates: ArrayLike | dt.date | _NestedSequence[dt.date],
weekmask: ArrayLike = ...,
holidays: None | ArrayLike | dt.date | _NestedSequence[dt.date] = ...,
busdaycal: None | busdaycalendar = ...,
out: None = ...,
) -> NDArray[int_]: ...
@overload
def busday_count(
begindates: ArrayLike | dt.date | _NestedSequence[dt.date],
enddates: ArrayLike | dt.date | _NestedSequence[dt.date],
weekmask: ArrayLike = ...,
holidays: None | ArrayLike | dt.date | _NestedSequence[dt.date] = ...,
busdaycal: None | busdaycalendar = ...,
out: _ArrayType = ...,
) -> _ArrayType: ...
# `roll="raise"` is (more or less?) equivalent to `casting="safe"`
@overload
def busday_offset( # type: ignore[misc]
dates: datetime64 | dt.date,
offsets: _TD64Like_co | dt.timedelta,
roll: L["raise"] = ...,
weekmask: ArrayLike = ...,
holidays: None | ArrayLike | dt.date | _NestedSequence[dt.date] = ...,
busdaycal: None | busdaycalendar = ...,
out: None = ...,
) -> datetime64: ...
@overload
def busday_offset( # type: ignore[misc]
dates: _ArrayLike[datetime64] | dt.date | _NestedSequence[dt.date],
offsets: _ArrayLikeTD64_co | dt.timedelta | _NestedSequence[dt.timedelta],
roll: L["raise"] = ...,
weekmask: ArrayLike = ...,
holidays: None | ArrayLike | dt.date | _NestedSequence[dt.date] = ...,
busdaycal: None | busdaycalendar = ...,
out: None = ...,
) -> NDArray[datetime64]: ...
@overload
def busday_offset( # type: ignore[misc]
dates: _ArrayLike[datetime64] | dt.date | _NestedSequence[dt.date],
offsets: _ArrayLikeTD64_co | dt.timedelta | _NestedSequence[dt.timedelta],
roll: L["raise"] = ...,
weekmask: ArrayLike = ...,
holidays: None | ArrayLike | dt.date | _NestedSequence[dt.date] = ...,
busdaycal: None | busdaycalendar = ...,
out: _ArrayType = ...,
) -> _ArrayType: ...
@overload
def busday_offset( # type: ignore[misc]
dates: _ScalarLike_co | dt.date,
offsets: _ScalarLike_co | dt.timedelta,
roll: _RollKind,
weekmask: ArrayLike = ...,
holidays: None | ArrayLike | dt.date | _NestedSequence[dt.date] = ...,
busdaycal: None | busdaycalendar = ...,
out: None = ...,
) -> datetime64: ...
@overload
def busday_offset( # type: ignore[misc]
dates: ArrayLike | dt.date | _NestedSequence[dt.date],
offsets: ArrayLike | dt.timedelta | _NestedSequence[dt.timedelta],
roll: _RollKind,
weekmask: ArrayLike = ...,
holidays: None | ArrayLike | dt.date | _NestedSequence[dt.date] = ...,
busdaycal: None | busdaycalendar = ...,
out: None = ...,
) -> NDArray[datetime64]: ...
@overload
def busday_offset(
dates: ArrayLike | dt.date | _NestedSequence[dt.date],
offsets: ArrayLike | dt.timedelta | _NestedSequence[dt.timedelta],
roll: _RollKind,
weekmask: ArrayLike = ...,
holidays: None | ArrayLike | dt.date | _NestedSequence[dt.date] = ...,
busdaycal: None | busdaycalendar = ...,
out: _ArrayType = ...,
) -> _ArrayType: ...
@overload
def is_busday( # type: ignore[misc]
dates: _ScalarLike_co | dt.date,
weekmask: ArrayLike = ...,
holidays: None | ArrayLike | dt.date | _NestedSequence[dt.date] = ...,
busdaycal: None | busdaycalendar = ...,
out: None = ...,
) -> np.bool: ...
@overload
def is_busday( # type: ignore[misc]
dates: ArrayLike | _NestedSequence[dt.date],
weekmask: ArrayLike = ...,
holidays: None | ArrayLike | dt.date | _NestedSequence[dt.date] = ...,
busdaycal: None | busdaycalendar = ...,
out: None = ...,
) -> NDArray[np.bool]: ...
@overload
def is_busday(
dates: ArrayLike | _NestedSequence[dt.date],
weekmask: ArrayLike = ...,
holidays: None | ArrayLike | dt.date | _NestedSequence[dt.date] = ...,
busdaycal: None | busdaycalendar = ...,
out: _ArrayType = ...,
) -> _ArrayType: ...
@overload
def datetime_as_string( # type: ignore[misc]
arr: datetime64 | dt.date,
unit: None | L["auto"] | _UnitKind = ...,
timezone: L["naive", "UTC", "local"] | dt.tzinfo = ...,
casting: _CastingKind = ...,
) -> str_: ...
@overload
def datetime_as_string(
arr: _ArrayLikeDT64_co | _NestedSequence[dt.date],
unit: None | L["auto"] | _UnitKind = ...,
timezone: L["naive", "UTC", "local"] | dt.tzinfo = ...,
casting: _CastingKind = ...,
) -> NDArray[str_]: ...
@overload
def compare_chararrays(
a1: _ArrayLikeStr_co,
a2: _ArrayLikeStr_co,
cmp: L["<", "<=", "==", ">=", ">", "!="],
rstrip: bool,
) -> NDArray[np.bool]: ...
@overload
def compare_chararrays(
a1: _ArrayLikeBytes_co,
a2: _ArrayLikeBytes_co,
cmp: L["<", "<=", "==", ">=", ">", "!="],
rstrip: bool,
) -> NDArray[np.bool]: ...
def add_docstring(obj: Callable[..., Any], docstring: str, /) -> None: ...
_GetItemKeys: TypeAlias = L[
"C", "CONTIGUOUS", "C_CONTIGUOUS",
"F", "FORTRAN", "F_CONTIGUOUS",
"W", "WRITEABLE",
"B", "BEHAVED",
"O", "OWNDATA",
"A", "ALIGNED",
"X", "WRITEBACKIFCOPY",
"CA", "CARRAY",
"FA", "FARRAY",
"FNC",
"FORC",
]
_SetItemKeys: TypeAlias = L[
"A", "ALIGNED",
"W", "WRITEABLE",
"X", "WRITEBACKIFCOPY",
]
@final
class flagsobj:
__hash__: ClassVar[None] # type: ignore[assignment]
aligned: bool
# NOTE: deprecated
# updateifcopy: bool
writeable: bool
writebackifcopy: bool
@property
def behaved(self) -> bool: ...
@property
def c_contiguous(self) -> bool: ...
@property
def carray(self) -> bool: ...
@property
def contiguous(self) -> bool: ...
@property
def f_contiguous(self) -> bool: ...
@property
def farray(self) -> bool: ...
@property
def fnc(self) -> bool: ...
@property
def forc(self) -> bool: ...
@property
def fortran(self) -> bool: ...
@property
def num(self) -> int: ...
@property
def owndata(self) -> bool: ...
def __getitem__(self, key: _GetItemKeys) -> bool: ...
def __setitem__(self, key: _SetItemKeys, value: bool) -> None: ...
def nested_iters(
op: ArrayLike | Sequence[ArrayLike],
axes: Sequence[Sequence[SupportsIndex]],
flags: None | Sequence[_NDIterFlagsKind] = ...,
op_flags: None | Sequence[Sequence[_NDIterFlagsOp]] = ...,
op_dtypes: DTypeLike | Sequence[DTypeLike] = ...,
order: _OrderKACF = ...,
casting: _CastingKind = ...,
buffersize: SupportsIndex = ...,
) -> tuple[nditer, ...]: ...