Format: application/octet-stream
⬇ Download File (5.8 KB)
   1  from typing import Any, Callable, Generic, Iterable, Iterator, Optional, Sequence, Tuple, TypeVar, Union, overload
   2  
   3  _T = TypeVar("_T")
   4  _S = TypeVar("_S")
   5  
   6  def count(start: int = ..., step: int = ...) -> Iterator[int]: ...  # more general types?
   7  
   8  class cycle(Iterator[_T], Generic[_T]):
   9      def __init__(self, iterable: Iterable[_T]) -> None: ...
  10      def next(self) -> _T: ...
  11      def __iter__(self) -> Iterator[_T]: ...
  12  
  13  def repeat(object: _T, times: int = ...) -> Iterator[_T]: ...
  14  
  15  class chain(Iterator[_T], Generic[_T]):
  16      def __init__(self, *iterables: Iterable[_T]) -> None: ...
  17      def next(self) -> _T: ...
  18      def __iter__(self) -> Iterator[_T]: ...
  19      @staticmethod
  20      def from_iterable(iterable: Iterable[Iterable[_S]]) -> Iterator[_S]: ...
  21  
  22  def compress(data: Iterable[_T], selectors: Iterable[Any]) -> Iterator[_T]: ...
  23  def dropwhile(predicate: Callable[[_T], Any], iterable: Iterable[_T]) -> Iterator[_T]: ...
  24  def ifilter(predicate: Optional[Callable[[_T], Any]], iterable: Iterable[_T]) -> Iterator[_T]: ...
  25  def ifilterfalse(predicate: Optional[Callable[[_T], Any]], iterable: Iterable[_T]) -> Iterator[_T]: ...
  26  @overload
  27  def groupby(iterable: Iterable[_T], key: None = ...) -> Iterator[Tuple[_T, Iterator[_T]]]: ...
  28  @overload
  29  def groupby(iterable: Iterable[_T], key: Callable[[_T], _S]) -> Iterator[Tuple[_S, Iterator[_T]]]: ...
  30  @overload
  31  def islice(iterable: Iterable[_T], stop: Optional[int]) -> Iterator[_T]: ...
  32  @overload
  33  def islice(iterable: Iterable[_T], start: Optional[int], stop: Optional[int], step: Optional[int] = ...) -> Iterator[_T]: ...
  34  
  35  _T1 = TypeVar("_T1")
  36  _T2 = TypeVar("_T2")
  37  _T3 = TypeVar("_T3")
  38  _T4 = TypeVar("_T4")
  39  _T5 = TypeVar("_T5")
  40  _T6 = TypeVar("_T6")
  41  @overload
  42  def imap(func: Callable[[_T1], _S], iter1: Iterable[_T1]) -> Iterator[_S]: ...
  43  @overload
  44  def imap(func: Callable[[_T1, _T2], _S], iter1: Iterable[_T1], iter2: Iterable[_T2]) -> Iterator[_S]: ...
  45  @overload
  46  def imap(
  47      func: Callable[[_T1, _T2, _T3], _S], iter1: Iterable[_T1], iter2: Iterable[_T2], iter3: Iterable[_T3]
  48  ) -> Iterator[_S]: ...
  49  @overload
  50  def imap(
  51      func: Callable[[_T1, _T2, _T3, _T4], _S],
  52      iter1: Iterable[_T1],
  53      iter2: Iterable[_T2],
  54      iter3: Iterable[_T3],
  55      iter4: Iterable[_T4],
  56  ) -> Iterator[_S]: ...
  57  @overload
  58  def imap(
  59      func: Callable[[_T1, _T2, _T3, _T4, _T5], _S],
  60      iter1: Iterable[_T1],
  61      iter2: Iterable[_T2],
  62      iter3: Iterable[_T3],
  63      iter4: Iterable[_T4],
  64      iter5: Iterable[_T5],
  65  ) -> Iterator[_S]: ...
  66  @overload
  67  def imap(
  68      func: Callable[[_T1, _T2, _T3, _T4, _T5, _T6], _S],
  69      iter1: Iterable[_T1],
  70      iter2: Iterable[_T2],
  71      iter3: Iterable[_T3],
  72      iter4: Iterable[_T4],
  73      iter5: Iterable[_T5],
  74      iter6: Iterable[_T6],
  75  ) -> Iterator[_S]: ...
  76  @overload
  77  def imap(
  78      func: Callable[..., _S],
  79      iter1: Iterable[Any],
  80      iter2: Iterable[Any],
  81      iter3: Iterable[Any],
  82      iter4: Iterable[Any],
  83      iter5: Iterable[Any],
  84      iter6: Iterable[Any],
  85      iter7: Iterable[Any],
  86      *iterables: Iterable[Any],
  87  ) -> Iterator[_S]: ...
  88  def starmap(func: Any, iterable: Iterable[Any]) -> Iterator[Any]: ...
  89  def takewhile(predicate: Callable[[_T], Any], iterable: Iterable[_T]) -> Iterator[_T]: ...
  90  def tee(iterable: Iterable[_T], n: int = ...) -> Tuple[Iterator[_T], ...]: ...
  91  @overload
  92  def izip(iter1: Iterable[_T1]) -> Iterator[Tuple[_T1]]: ...
  93  @overload
  94  def izip(iter1: Iterable[_T1], iter2: Iterable[_T2]) -> Iterator[Tuple[_T1, _T2]]: ...
  95  @overload
  96  def izip(iter1: Iterable[_T1], iter2: Iterable[_T2], iter3: Iterable[_T3]) -> Iterator[Tuple[_T1, _T2, _T3]]: ...
  97  @overload
  98  def izip(
  99      iter1: Iterable[_T1], iter2: Iterable[_T2], iter3: Iterable[_T3], iter4: Iterable[_T4]
 100  ) -> Iterator[Tuple[_T1, _T2, _T3, _T4]]: ...
 101  @overload
 102  def izip(
 103      iter1: Iterable[_T1], iter2: Iterable[_T2], iter3: Iterable[_T3], iter4: Iterable[_T4], iter5: Iterable[_T5]
 104  ) -> Iterator[Tuple[_T1, _T2, _T3, _T4, _T5]]: ...
 105  @overload
 106  def izip(
 107      iter1: Iterable[_T1],
 108      iter2: Iterable[_T2],
 109      iter3: Iterable[_T3],
 110      iter4: Iterable[_T4],
 111      iter5: Iterable[_T5],
 112      iter6: Iterable[_T6],
 113  ) -> Iterator[Tuple[_T1, _T2, _T3, _T4, _T5, _T6]]: ...
 114  @overload
 115  def izip(
 116      iter1: Iterable[Any],
 117      iter2: Iterable[Any],
 118      iter3: Iterable[Any],
 119      iter4: Iterable[Any],
 120      iter5: Iterable[Any],
 121      iter6: Iterable[Any],
 122      iter7: Iterable[Any],
 123      *iterables: Iterable[Any],
 124  ) -> Iterator[Tuple[Any, ...]]: ...
 125  def izip_longest(*p: Iterable[Any], fillvalue: Any = ...) -> Iterator[Any]: ...
 126  @overload
 127  def product(iter1: Iterable[_T1]) -> Iterator[Tuple[_T1]]: ...
 128  @overload
 129  def product(iter1: Iterable[_T1], iter2: Iterable[_T2]) -> Iterator[Tuple[_T1, _T2]]: ...
 130  @overload
 131  def product(iter1: Iterable[_T1], iter2: Iterable[_T2], iter3: Iterable[_T3]) -> Iterator[Tuple[_T1, _T2, _T3]]: ...
 132  @overload
 133  def product(
 134      iter1: Iterable[_T1], iter2: Iterable[_T2], iter3: Iterable[_T3], iter4: Iterable[_T4]
 135  ) -> Iterator[Tuple[_T1, _T2, _T3, _T4]]: ...
 136  @overload
 137  def product(
 138      iter1: Iterable[_T1], iter2: Iterable[_T2], iter3: Iterable[_T3], iter4: Iterable[_T4], iter5: Iterable[_T5]
 139  ) -> Iterator[Tuple[_T1, _T2, _T3, _T4, _T5]]: ...
 140  @overload
 141  def product(
 142      iter1: Iterable[_T1],
 143      iter2: Iterable[_T2],
 144      iter3: Iterable[_T3],
 145      iter4: Iterable[_T4],
 146      iter5: Iterable[_T5],
 147      iter6: Iterable[_T6],
 148  ) -> Iterator[Tuple[_T1, _T2, _T3, _T4, _T5, _T6]]: ...
 149  @overload
 150  def product(
 151      iter1: Iterable[Any],
 152      iter2: Iterable[Any],
 153      iter3: Iterable[Any],
 154      iter4: Iterable[Any],
 155      iter5: Iterable[Any],
 156      iter6: Iterable[Any],
 157      iter7: Iterable[Any],
 158      *iterables: Iterable[Any],
 159  ) -> Iterator[Tuple[Any, ...]]: ...
 160  @overload
 161  def product(*iterables: Iterable[Any], repeat: int) -> Iterator[Tuple[Any, ...]]: ...
 162  def permutations(iterable: Iterable[_T], r: int = ...) -> Iterator[Sequence[_T]]: ...
 163  def combinations(iterable: Iterable[_T], r: int) -> Iterator[Sequence[_T]]: ...
 164  def combinations_with_replacement(iterable: Iterable[_T], r: int) -> Iterator[Sequence[_T]]: ...
 165