Format: application/octet-stream
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