/ lib / numpy / core / shape_base.pyi
shape_base.pyi
  1  from collections.abc import Sequence
  2  from typing import TypeVar, overload, Any, SupportsIndex
  3  
  4  from numpy import generic, _CastingKind
  5  from numpy._typing import (
  6      NDArray,
  7      ArrayLike,
  8      DTypeLike,
  9      _ArrayLike,
 10      _DTypeLike,
 11  )
 12  
 13  _SCT = TypeVar("_SCT", bound=generic)
 14  _ArrayType = TypeVar("_ArrayType", bound=NDArray[Any])
 15  
 16  __all__: list[str]
 17  
 18  @overload
 19  def atleast_1d(arys: _ArrayLike[_SCT], /) -> NDArray[_SCT]: ...
 20  @overload
 21  def atleast_1d(arys: ArrayLike, /) -> NDArray[Any]: ...
 22  @overload
 23  def atleast_1d(*arys: ArrayLike) -> list[NDArray[Any]]: ...
 24  
 25  @overload
 26  def atleast_2d(arys: _ArrayLike[_SCT], /) -> NDArray[_SCT]: ...
 27  @overload
 28  def atleast_2d(arys: ArrayLike, /) -> NDArray[Any]: ...
 29  @overload
 30  def atleast_2d(*arys: ArrayLike) -> list[NDArray[Any]]: ...
 31  
 32  @overload
 33  def atleast_3d(arys: _ArrayLike[_SCT], /) -> NDArray[_SCT]: ...
 34  @overload
 35  def atleast_3d(arys: ArrayLike, /) -> NDArray[Any]: ...
 36  @overload
 37  def atleast_3d(*arys: ArrayLike) -> list[NDArray[Any]]: ...
 38  
 39  @overload
 40  def vstack(
 41      tup: Sequence[_ArrayLike[_SCT]],
 42      *,
 43      dtype: None = ...,
 44      casting: _CastingKind = ...
 45  ) -> NDArray[_SCT]: ...
 46  @overload
 47  def vstack(
 48      tup: Sequence[ArrayLike],
 49      *,
 50      dtype: _DTypeLike[_SCT],
 51      casting: _CastingKind = ...
 52  ) -> NDArray[_SCT]: ...
 53  @overload
 54  def vstack(
 55      tup: Sequence[ArrayLike],
 56      *,
 57      dtype: DTypeLike = ...,
 58      casting: _CastingKind = ...
 59  ) -> NDArray[Any]: ...
 60  
 61  @overload
 62  def hstack(
 63      tup: Sequence[_ArrayLike[_SCT]],
 64      *,
 65      dtype: None = ...,
 66      casting: _CastingKind = ...
 67  ) -> NDArray[_SCT]: ...
 68  @overload
 69  def hstack(
 70      tup: Sequence[ArrayLike],
 71      *,
 72      dtype: _DTypeLike[_SCT],
 73      casting: _CastingKind = ...
 74  ) -> NDArray[_SCT]: ...
 75  @overload
 76  def hstack(
 77      tup: Sequence[ArrayLike],
 78      *,
 79      dtype: DTypeLike = ...,
 80      casting: _CastingKind = ...
 81  ) -> NDArray[Any]: ...
 82  
 83  @overload
 84  def stack(
 85      arrays: Sequence[_ArrayLike[_SCT]],
 86      axis: SupportsIndex = ...,
 87      out: None = ...,
 88      *,
 89      dtype: None = ...,
 90      casting: _CastingKind = ...
 91  ) -> NDArray[_SCT]: ...
 92  @overload
 93  def stack(
 94      arrays: Sequence[ArrayLike],
 95      axis: SupportsIndex = ...,
 96      out: None = ...,
 97      *,
 98      dtype: _DTypeLike[_SCT],
 99      casting: _CastingKind = ...
100  ) -> NDArray[_SCT]: ...
101  @overload
102  def stack(
103      arrays: Sequence[ArrayLike],
104      axis: SupportsIndex = ...,
105      out: None = ...,
106      *,
107      dtype: DTypeLike = ...,
108      casting: _CastingKind = ...
109  ) -> NDArray[Any]: ...
110  @overload
111  def stack(
112      arrays: Sequence[ArrayLike],
113      axis: SupportsIndex = ...,
114      out: _ArrayType = ...,
115      *,
116      dtype: DTypeLike = ...,
117      casting: _CastingKind = ...
118  ) -> _ArrayType: ...
119  
120  @overload
121  def block(arrays: _ArrayLike[_SCT]) -> NDArray[_SCT]: ...
122  @overload
123  def block(arrays: ArrayLike) -> NDArray[Any]: ...