Format: application/octet-stream
1 # True and False are deliberately omitted because they are keywords in
2 # Python 3, and stub files conform to Python 3 syntax.
3
4 from _typeshed import ReadableBuffer, SupportsKeysAndGetItem, SupportsWrite
5 from abc import ABCMeta
6 from ast import mod
7 from types import CodeType
8 from typing import (
9 AbstractSet,
10 Any,
11 AnyStr,
12 BinaryIO,
13 ByteString,
14 Callable,
15 Container,
16 Dict,
17 FrozenSet,
18 Generic,
19 ItemsView,
20 Iterable,
21 Iterator,
22 KeysView,
23 List,
24 Mapping,
25 MutableMapping,
26 MutableSequence,
27 MutableSet,
28 NoReturn,
29 Optional,
30 Protocol,
31 Reversible,
32 Sequence,
33 Set,
34 Sized,
35 SupportsAbs,
36 SupportsComplex,
37 SupportsFloat,
38 SupportsInt,
39 Text,
40 Tuple,
41 Type,
42 TypeVar,
43 Union,
44 ValuesView,
45 overload,
46 runtime_checkable,
47 )
48 from typing_extensions import Literal
49
50 class _SupportsIndex(Protocol):
51 def __index__(self) -> int: ...
52
53 class _SupportsTrunc(Protocol):
54 def __trunc__(self) -> int: ...
55
56 _T = TypeVar("_T")
57 _T_co = TypeVar("_T_co", covariant=True)
58 _KT = TypeVar("_KT")
59 _VT = TypeVar("_VT")
60 _S = TypeVar("_S")
61 _T1 = TypeVar("_T1")
62 _T2 = TypeVar("_T2")
63 _T3 = TypeVar("_T3")
64 _T4 = TypeVar("_T4")
65 _T5 = TypeVar("_T5")
66 _TT = TypeVar("_TT", bound="type")
67 _TBE = TypeVar("_TBE", bound="BaseException")
68
69 class object:
70 __doc__: Optional[str]
71 __dict__: Dict[str, Any]
72 __slots__: Union[Text, Iterable[Text]]
73 __module__: str
74 @property
75 def __class__(self: _T) -> Type[_T]: ...
76 @__class__.setter
77 def __class__(self, __type: Type[object]) -> None: ... # noqa: F811
78 def __init__(self) -> None: ...
79 def __new__(cls) -> Any: ...
80 def __setattr__(self, name: str, value: Any) -> None: ...
81 def __eq__(self, o: object) -> bool: ...
82 def __ne__(self, o: object) -> bool: ...
83 def __str__(self) -> str: ...
84 def __repr__(self) -> str: ...
85 def __hash__(self) -> int: ...
86 def __format__(self, format_spec: str) -> str: ...
87 def __getattribute__(self, name: str) -> Any: ...
88 def __delattr__(self, name: str) -> None: ...
89 def __sizeof__(self) -> int: ...
90 def __reduce__(self) -> Union[str, Tuple[Any, ...]]: ...
91 def __reduce_ex__(self, protocol: int) -> Union[str, Tuple[Any, ...]]: ...
92
93 class staticmethod(object): # Special, only valid as a decorator.
94 __func__: Callable[..., Any]
95 def __init__(self, f: Callable[..., Any]) -> None: ...
96 def __new__(cls: Type[_T], *args: Any, **kwargs: Any) -> _T: ...
97 def __get__(self, obj: _T, type: Optional[Type[_T]] = ...) -> Callable[..., Any]: ...
98
99 class classmethod(object): # Special, only valid as a decorator.
100 __func__: Callable[..., Any]
101 def __init__(self, f: Callable[..., Any]) -> None: ...
102 def __new__(cls: Type[_T], *args: Any, **kwargs: Any) -> _T: ...
103 def __get__(self, obj: _T, type: Optional[Type[_T]] = ...) -> Callable[..., Any]: ...
104
105 class type(object):
106 __base__: type
107 __bases__: Tuple[type, ...]
108 __basicsize__: int
109 __dict__: Dict[str, Any]
110 __dictoffset__: int
111 __flags__: int
112 __itemsize__: int
113 __module__: str
114 __mro__: Tuple[type, ...]
115 __name__: str
116 __weakrefoffset__: int
117 @overload
118 def __init__(self, o: object) -> None: ...
119 @overload
120 def __init__(self, name: str, bases: Tuple[type, ...], dict: Dict[str, Any]) -> None: ...
121 @overload
122 def __new__(cls, o: object) -> type: ...
123 @overload
124 def __new__(cls, name: str, bases: Tuple[type, ...], namespace: Dict[str, Any]) -> type: ...
125 def __call__(self, *args: Any, **kwds: Any) -> Any: ...
126 def __subclasses__(self: _TT) -> List[_TT]: ...
127 # Note: the documentation doesnt specify what the return type is, the standard
128 # implementation seems to be returning a list.
129 def mro(self) -> List[type]: ...
130 def __instancecheck__(self, instance: Any) -> bool: ...
131 def __subclasscheck__(self, subclass: type) -> bool: ...
132
133 class super(object):
134 @overload
135 def __init__(self, t: Any, obj: Any) -> None: ...
136 @overload
137 def __init__(self, t: Any) -> None: ...
138
139 class int:
140 @overload
141 def __new__(cls: Type[_T], x: Union[Text, bytes, SupportsInt, _SupportsIndex, _SupportsTrunc] = ...) -> _T: ...
142 @overload
143 def __new__(cls: Type[_T], x: Union[Text, bytes, bytearray], base: int) -> _T: ...
144 @property
145 def real(self) -> int: ...
146 @property
147 def imag(self) -> int: ...
148 @property
149 def numerator(self) -> int: ...
150 @property
151 def denominator(self) -> int: ...
152 def conjugate(self) -> int: ...
153 def bit_length(self) -> int: ...
154 def __add__(self, x: int) -> int: ...
155 def __sub__(self, x: int) -> int: ...
156 def __mul__(self, x: int) -> int: ...
157 def __floordiv__(self, x: int) -> int: ...
158 def __div__(self, x: int) -> int: ...
159 def __truediv__(self, x: int) -> float: ...
160 def __mod__(self, x: int) -> int: ...
161 def __divmod__(self, x: int) -> Tuple[int, int]: ...
162 def __radd__(self, x: int) -> int: ...
163 def __rsub__(self, x: int) -> int: ...
164 def __rmul__(self, x: int) -> int: ...
165 def __rfloordiv__(self, x: int) -> int: ...
166 def __rdiv__(self, x: int) -> int: ...
167 def __rtruediv__(self, x: int) -> float: ...
168 def __rmod__(self, x: int) -> int: ...
169 def __rdivmod__(self, x: int) -> Tuple[int, int]: ...
170 @overload
171 def __pow__(self, __x: Literal[2], __modulo: Optional[int] = ...) -> int: ...
172 @overload
173 def __pow__(self, __x: int, __modulo: Optional[int] = ...) -> Any: ... # Return type can be int or float, depending on x.
174 def __rpow__(self, x: int, mod: Optional[int] = ...) -> Any: ...
175 def __and__(self, n: int) -> int: ...
176 def __or__(self, n: int) -> int: ...
177 def __xor__(self, n: int) -> int: ...
178 def __lshift__(self, n: int) -> int: ...
179 def __rshift__(self, n: int) -> int: ...
180 def __rand__(self, n: int) -> int: ...
181 def __ror__(self, n: int) -> int: ...
182 def __rxor__(self, n: int) -> int: ...
183 def __rlshift__(self, n: int) -> int: ...
184 def __rrshift__(self, n: int) -> int: ...
185 def __neg__(self) -> int: ...
186 def __pos__(self) -> int: ...
187 def __invert__(self) -> int: ...
188 def __trunc__(self) -> int: ...
189 def __getnewargs__(self) -> Tuple[int]: ...
190 def __eq__(self, x: object) -> bool: ...
191 def __ne__(self, x: object) -> bool: ...
192 def __lt__(self, x: int) -> bool: ...
193 def __le__(self, x: int) -> bool: ...
194 def __gt__(self, x: int) -> bool: ...
195 def __ge__(self, x: int) -> bool: ...
196 def __str__(self) -> str: ...
197 def __float__(self) -> float: ...
198 def __int__(self) -> int: ...
199 def __abs__(self) -> int: ...
200 def __hash__(self) -> int: ...
201 def __nonzero__(self) -> bool: ...
202 def __index__(self) -> int: ...
203
204 class float:
205 def __new__(cls: Type[_T], x: Union[SupportsFloat, _SupportsIndex, Text, bytes, bytearray] = ...) -> _T: ...
206 def as_integer_ratio(self) -> Tuple[int, int]: ...
207 def hex(self) -> str: ...
208 def is_integer(self) -> bool: ...
209 @classmethod
210 def fromhex(cls, __s: str) -> float: ...
211 @property
212 def real(self) -> float: ...
213 @property
214 def imag(self) -> float: ...
215 def conjugate(self) -> float: ...
216 def __add__(self, x: float) -> float: ...
217 def __sub__(self, x: float) -> float: ...
218 def __mul__(self, x: float) -> float: ...
219 def __floordiv__(self, x: float) -> float: ...
220 def __div__(self, x: float) -> float: ...
221 def __truediv__(self, x: float) -> float: ...
222 def __mod__(self, x: float) -> float: ...
223 def __divmod__(self, x: float) -> Tuple[float, float]: ...
224 def __pow__(
225 self, x: float, mod: None = ...
226 ) -> float: ... # In Python 3, returns complex if self is negative and x is not whole
227 def __radd__(self, x: float) -> float: ...
228 def __rsub__(self, x: float) -> float: ...
229 def __rmul__(self, x: float) -> float: ...
230 def __rfloordiv__(self, x: float) -> float: ...
231 def __rdiv__(self, x: float) -> float: ...
232 def __rtruediv__(self, x: float) -> float: ...
233 def __rmod__(self, x: float) -> float: ...
234 def __rdivmod__(self, x: float) -> Tuple[float, float]: ...
235 def __rpow__(self, x: float, mod: None = ...) -> float: ...
236 def __getnewargs__(self) -> Tuple[float]: ...
237 def __trunc__(self) -> int: ...
238 def __eq__(self, x: object) -> bool: ...
239 def __ne__(self, x: object) -> bool: ...
240 def __lt__(self, x: float) -> bool: ...
241 def __le__(self, x: float) -> bool: ...
242 def __gt__(self, x: float) -> bool: ...
243 def __ge__(self, x: float) -> bool: ...
244 def __neg__(self) -> float: ...
245 def __pos__(self) -> float: ...
246 def __str__(self) -> str: ...
247 def __int__(self) -> int: ...
248 def __float__(self) -> float: ...
249 def __abs__(self) -> float: ...
250 def __hash__(self) -> int: ...
251 def __nonzero__(self) -> bool: ...
252
253 class complex:
254 @overload
255 def __new__(cls: Type[_T], real: float = ..., imag: float = ...) -> _T: ...
256 @overload
257 def __new__(cls: Type[_T], real: Union[str, SupportsComplex, _SupportsIndex]) -> _T: ...
258 @property
259 def real(self) -> float: ...
260 @property
261 def imag(self) -> float: ...
262 def conjugate(self) -> complex: ...
263 def __add__(self, x: complex) -> complex: ...
264 def __sub__(self, x: complex) -> complex: ...
265 def __mul__(self, x: complex) -> complex: ...
266 def __pow__(self, x: complex, mod: None = ...) -> complex: ...
267 def __div__(self, x: complex) -> complex: ...
268 def __truediv__(self, x: complex) -> complex: ...
269 def __radd__(self, x: complex) -> complex: ...
270 def __rsub__(self, x: complex) -> complex: ...
271 def __rmul__(self, x: complex) -> complex: ...
272 def __rpow__(self, x: complex, mod: None = ...) -> complex: ...
273 def __rdiv__(self, x: complex) -> complex: ...
274 def __rtruediv__(self, x: complex) -> complex: ...
275 def __eq__(self, x: object) -> bool: ...
276 def __ne__(self, x: object) -> bool: ...
277 def __neg__(self) -> complex: ...
278 def __pos__(self) -> complex: ...
279 def __str__(self) -> str: ...
280 def __complex__(self) -> complex: ...
281 def __abs__(self) -> float: ...
282 def __hash__(self) -> int: ...
283 def __nonzero__(self) -> bool: ...
284
285 class basestring(metaclass=ABCMeta): ...
286
287 class unicode(basestring, Sequence[unicode]):
288 @overload
289 def __init__(self) -> None: ...
290 @overload
291 def __init__(self, o: object) -> None: ...
292 @overload
293 def __init__(self, o: str, encoding: unicode = ..., errors: unicode = ...) -> None: ...
294 def capitalize(self) -> unicode: ...
295 def center(self, width: int, fillchar: unicode = ...) -> unicode: ...
296 def count(self, x: unicode) -> int: ...
297 def decode(self, encoding: unicode = ..., errors: unicode = ...) -> unicode: ...
298 def encode(self, encoding: unicode = ..., errors: unicode = ...) -> str: ...
299 def endswith(self, suffix: Union[unicode, Tuple[unicode, ...]], start: int = ..., end: int = ...) -> bool: ...
300 def expandtabs(self, tabsize: int = ...) -> unicode: ...
301 def find(self, sub: unicode, start: int = ..., end: int = ...) -> int: ...
302 def format(self, *args: object, **kwargs: object) -> unicode: ...
303 def index(self, sub: unicode, start: int = ..., end: int = ...) -> int: ...
304 def isalnum(self) -> bool: ...
305 def isalpha(self) -> bool: ...
306 def isdecimal(self) -> bool: ...
307 def isdigit(self) -> bool: ...
308 def isidentifier(self) -> bool: ...
309 def islower(self) -> bool: ...
310 def isnumeric(self) -> bool: ...
311 def isprintable(self) -> bool: ...
312 def isspace(self) -> bool: ...
313 def istitle(self) -> bool: ...
314 def isupper(self) -> bool: ...
315 def join(self, iterable: Iterable[unicode]) -> unicode: ...
316 def ljust(self, width: int, fillchar: unicode = ...) -> unicode: ...
317 def lower(self) -> unicode: ...
318 def lstrip(self, chars: unicode = ...) -> unicode: ...
319 def partition(self, sep: unicode) -> Tuple[unicode, unicode, unicode]: ...
320 def replace(self, old: unicode, new: unicode, count: int = ...) -> unicode: ...
321 def rfind(self, sub: unicode, start: int = ..., end: int = ...) -> int: ...
322 def rindex(self, sub: unicode, start: int = ..., end: int = ...) -> int: ...
323 def rjust(self, width: int, fillchar: unicode = ...) -> unicode: ...
324 def rpartition(self, sep: unicode) -> Tuple[unicode, unicode, unicode]: ...
325 def rsplit(self, sep: Optional[unicode] = ..., maxsplit: int = ...) -> List[unicode]: ...
326 def rstrip(self, chars: unicode = ...) -> unicode: ...
327 def split(self, sep: Optional[unicode] = ..., maxsplit: int = ...) -> List[unicode]: ...
328 def splitlines(self, keepends: bool = ...) -> List[unicode]: ...
329 def startswith(self, prefix: Union[unicode, Tuple[unicode, ...]], start: int = ..., end: int = ...) -> bool: ...
330 def strip(self, chars: unicode = ...) -> unicode: ...
331 def swapcase(self) -> unicode: ...
332 def title(self) -> unicode: ...
333 def translate(self, table: Union[Dict[int, Any], unicode]) -> unicode: ...
334 def upper(self) -> unicode: ...
335 def zfill(self, width: int) -> unicode: ...
336 @overload
337 def __getitem__(self, i: int) -> unicode: ...
338 @overload
339 def __getitem__(self, s: slice) -> unicode: ...
340 def __getslice__(self, start: int, stop: int) -> unicode: ...
341 def __add__(self, s: unicode) -> unicode: ...
342 def __mul__(self, n: int) -> unicode: ...
343 def __rmul__(self, n: int) -> unicode: ...
344 def __mod__(self, x: Any) -> unicode: ...
345 def __eq__(self, x: object) -> bool: ...
346 def __ne__(self, x: object) -> bool: ...
347 def __lt__(self, x: unicode) -> bool: ...
348 def __le__(self, x: unicode) -> bool: ...
349 def __gt__(self, x: unicode) -> bool: ...
350 def __ge__(self, x: unicode) -> bool: ...
351 def __len__(self) -> int: ...
352 # The argument type is incompatible with Sequence
353 def __contains__(self, s: Union[unicode, bytes]) -> bool: ... # type: ignore
354 def __iter__(self) -> Iterator[unicode]: ...
355 def __str__(self) -> str: ...
356 def __repr__(self) -> str: ...
357 def __int__(self) -> int: ...
358 def __float__(self) -> float: ...
359 def __hash__(self) -> int: ...
360 def __getnewargs__(self) -> Tuple[unicode]: ...
361
362 class _FormatMapMapping(Protocol):
363 def __getitem__(self, __key: str) -> Any: ...
364
365 class str(Sequence[str], basestring):
366 def __init__(self, o: object = ...) -> None: ...
367 def capitalize(self) -> str: ...
368 def center(self, __width: int, __fillchar: str = ...) -> str: ...
369 def count(self, x: Text, __start: Optional[int] = ..., __end: Optional[int] = ...) -> int: ...
370 def decode(self, encoding: Text = ..., errors: Text = ...) -> unicode: ...
371 def encode(self, encoding: Text = ..., errors: Text = ...) -> bytes: ...
372 def endswith(self, suffix: Union[Text, Tuple[Text, ...]]) -> bool: ...
373 def expandtabs(self, tabsize: int = ...) -> str: ...
374 def find(self, sub: Text, __start: Optional[int] = ..., __end: Optional[int] = ...) -> int: ...
375 def format(self, *args: object, **kwargs: object) -> str: ...
376 def format_map(self, map: _FormatMapMapping) -> str: ...
377 def index(self, sub: Text, __start: Optional[int] = ..., __end: Optional[int] = ...) -> int: ...
378 def isalnum(self) -> bool: ...
379 def isalpha(self) -> bool: ...
380 def isdigit(self) -> bool: ...
381 def islower(self) -> bool: ...
382 def isspace(self) -> bool: ...
383 def istitle(self) -> bool: ...
384 def isupper(self) -> bool: ...
385 def join(self, __iterable: Iterable[AnyStr]) -> AnyStr: ...
386 def ljust(self, __width: int, __fillchar: str = ...) -> str: ...
387 def lower(self) -> str: ...
388 @overload
389 def lstrip(self, __chars: str = ...) -> str: ...
390 @overload
391 def lstrip(self, __chars: unicode) -> unicode: ...
392 @overload
393 def partition(self, __sep: bytearray) -> Tuple[str, bytearray, str]: ...
394 @overload
395 def partition(self, __sep: str) -> Tuple[str, str, str]: ...
396 @overload
397 def partition(self, __sep: unicode) -> Tuple[unicode, unicode, unicode]: ...
398 def replace(self, __old: AnyStr, __new: AnyStr, __count: int = ...) -> AnyStr: ...
399 def rfind(self, sub: Text, __start: Optional[int] = ..., __end: Optional[int] = ...) -> int: ...
400 def rindex(self, sub: Text, __start: Optional[int] = ..., __end: Optional[int] = ...) -> int: ...
401 def rjust(self, __width: int, __fillchar: str = ...) -> str: ...
402 @overload
403 def rpartition(self, __sep: bytearray) -> Tuple[str, bytearray, str]: ...
404 @overload
405 def rpartition(self, __sep: str) -> Tuple[str, str, str]: ...
406 @overload
407 def rpartition(self, __sep: unicode) -> Tuple[unicode, unicode, unicode]: ...
408 @overload
409 def rsplit(self, sep: Optional[str] = ..., maxsplit: int = ...) -> List[str]: ...
410 @overload
411 def rsplit(self, sep: unicode, maxsplit: int = ...) -> List[unicode]: ...
412 @overload
413 def rstrip(self, __chars: str = ...) -> str: ...
414 @overload
415 def rstrip(self, __chars: unicode) -> unicode: ...
416 @overload
417 def split(self, sep: Optional[str] = ..., maxsplit: int = ...) -> List[str]: ...
418 @overload
419 def split(self, sep: unicode, maxsplit: int = ...) -> List[unicode]: ...
420 def splitlines(self, keepends: bool = ...) -> List[str]: ...
421 def startswith(self, prefix: Union[Text, Tuple[Text, ...]]) -> bool: ...
422 @overload
423 def strip(self, __chars: str = ...) -> str: ...
424 @overload
425 def strip(self, chars: unicode) -> unicode: ...
426 def swapcase(self) -> str: ...
427 def title(self) -> str: ...
428 def translate(self, __table: Optional[AnyStr], deletechars: AnyStr = ...) -> AnyStr: ...
429 def upper(self) -> str: ...
430 def zfill(self, __width: int) -> str: ...
431 def __add__(self, s: AnyStr) -> AnyStr: ...
432 # Incompatible with Sequence.__contains__
433 def __contains__(self, o: Union[str, Text]) -> bool: ... # type: ignore
434 def __eq__(self, x: object) -> bool: ...
435 def __ge__(self, x: Text) -> bool: ...
436 def __getitem__(self, i: Union[int, slice]) -> str: ...
437 def __gt__(self, x: Text) -> bool: ...
438 def __hash__(self) -> int: ...
439 def __iter__(self) -> Iterator[str]: ...
440 def __le__(self, x: Text) -> bool: ...
441 def __len__(self) -> int: ...
442 def __lt__(self, x: Text) -> bool: ...
443 def __mod__(self, x: Any) -> str: ...
444 def __mul__(self, n: int) -> str: ...
445 def __ne__(self, x: object) -> bool: ...
446 def __repr__(self) -> str: ...
447 def __rmul__(self, n: int) -> str: ...
448 def __str__(self) -> str: ...
449 def __getnewargs__(self) -> Tuple[str]: ...
450 def __getslice__(self, start: int, stop: int) -> str: ...
451 def __float__(self) -> float: ...
452 def __int__(self) -> int: ...
453
454 bytes = str
455
456 class bytearray(MutableSequence[int], ByteString):
457 @overload
458 def __init__(self) -> None: ...
459 @overload
460 def __init__(self, ints: Iterable[int]) -> None: ...
461 @overload
462 def __init__(self, string: str) -> None: ...
463 @overload
464 def __init__(self, string: Text, encoding: Text, errors: Text = ...) -> None: ...
465 @overload
466 def __init__(self, length: int) -> None: ...
467 def capitalize(self) -> bytearray: ...
468 def center(self, __width: int, __fillchar: bytes = ...) -> bytearray: ...
469 def count(self, __sub: str) -> int: ...
470 def decode(self, encoding: Text = ..., errors: Text = ...) -> str: ...
471 def endswith(self, __suffix: Union[bytes, Tuple[bytes, ...]]) -> bool: ...
472 def expandtabs(self, tabsize: int = ...) -> bytearray: ...
473 def extend(self, iterable: Union[str, Iterable[int]]) -> None: ...
474 def find(self, __sub: str, __start: int = ..., __end: int = ...) -> int: ...
475 def index(self, __sub: str, __start: int = ..., __end: int = ...) -> int: ...
476 def insert(self, __index: int, __item: int) -> None: ...
477 def isalnum(self) -> bool: ...
478 def isalpha(self) -> bool: ...
479 def isdigit(self) -> bool: ...
480 def islower(self) -> bool: ...
481 def isspace(self) -> bool: ...
482 def istitle(self) -> bool: ...
483 def isupper(self) -> bool: ...
484 def join(self, __iterable: Iterable[str]) -> bytearray: ...
485 def ljust(self, __width: int, __fillchar: str = ...) -> bytearray: ...
486 def lower(self) -> bytearray: ...
487 def lstrip(self, __bytes: Optional[bytes] = ...) -> bytearray: ...
488 def partition(self, __sep: bytes) -> Tuple[bytearray, bytearray, bytearray]: ...
489 def replace(self, __old: bytes, __new: bytes, __count: int = ...) -> bytearray: ...
490 def rfind(self, __sub: bytes, __start: int = ..., __end: int = ...) -> int: ...
491 def rindex(self, __sub: bytes, __start: int = ..., __end: int = ...) -> int: ...
492 def rjust(self, __width: int, __fillchar: bytes = ...) -> bytearray: ...
493 def rpartition(self, __sep: bytes) -> Tuple[bytearray, bytearray, bytearray]: ...
494 def rsplit(self, sep: Optional[bytes] = ..., maxsplit: int = ...) -> List[bytearray]: ...
495 def rstrip(self, __bytes: Optional[bytes] = ...) -> bytearray: ...
496 def split(self, sep: Optional[bytes] = ..., maxsplit: int = ...) -> List[bytearray]: ...
497 def splitlines(self, keepends: bool = ...) -> List[bytearray]: ...
498 def startswith(
499 self, __prefix: Union[bytes, Tuple[bytes, ...]], __start: Optional[int] = ..., __end: Optional[int] = ...
500 ) -> bool: ...
501 def strip(self, __bytes: Optional[bytes] = ...) -> bytearray: ...
502 def swapcase(self) -> bytearray: ...
503 def title(self) -> bytearray: ...
504 def translate(self, __table: str) -> bytearray: ...
505 def upper(self) -> bytearray: ...
506 def zfill(self, __width: int) -> bytearray: ...
507 @classmethod
508 def fromhex(cls, __string: str) -> bytearray: ...
509 def __len__(self) -> int: ...
510 def __iter__(self) -> Iterator[int]: ...
511 def __str__(self) -> str: ...
512 def __repr__(self) -> str: ...
513 def __int__(self) -> int: ...
514 def __float__(self) -> float: ...
515 __hash__: None # type: ignore
516 @overload
517 def __getitem__(self, i: int) -> int: ...
518 @overload
519 def __getitem__(self, s: slice) -> bytearray: ...
520 @overload
521 def __setitem__(self, i: int, x: int) -> None: ...
522 @overload
523 def __setitem__(self, s: slice, x: Union[Iterable[int], bytes]) -> None: ...
524 def __delitem__(self, i: Union[int, slice]) -> None: ...
525 def __getslice__(self, start: int, stop: int) -> bytearray: ...
526 def __setslice__(self, start: int, stop: int, x: Union[Sequence[int], str]) -> None: ...
527 def __delslice__(self, start: int, stop: int) -> None: ...
528 def __add__(self, s: bytes) -> bytearray: ...
529 def __mul__(self, n: int) -> bytearray: ...
530 # Incompatible with Sequence.__contains__
531 def __contains__(self, o: Union[int, bytes]) -> bool: ... # type: ignore
532 def __eq__(self, x: object) -> bool: ...
533 def __ne__(self, x: object) -> bool: ...
534 def __lt__(self, x: bytes) -> bool: ...
535 def __le__(self, x: bytes) -> bool: ...
536 def __gt__(self, x: bytes) -> bool: ...
537 def __ge__(self, x: bytes) -> bool: ...
538
539 class memoryview(Sized, Container[str]):
540 format: str
541 itemsize: int
542 shape: Optional[Tuple[int, ...]]
543 strides: Optional[Tuple[int, ...]]
544 suboffsets: Optional[Tuple[int, ...]]
545 readonly: bool
546 ndim: int
547 def __init__(self, obj: ReadableBuffer) -> None: ...
548 @overload
549 def __getitem__(self, i: int) -> str: ...
550 @overload
551 def __getitem__(self, s: slice) -> memoryview: ...
552 def __contains__(self, x: object) -> bool: ...
553 def __iter__(self) -> Iterator[str]: ...
554 def __len__(self) -> int: ...
555 @overload
556 def __setitem__(self, s: slice, o: memoryview) -> None: ...
557 @overload
558 def __setitem__(self, i: int, o: bytes) -> None: ...
559 @overload
560 def __setitem__(self, s: slice, o: Sequence[bytes]) -> None: ...
561 def tobytes(self) -> bytes: ...
562 def tolist(self) -> List[int]: ...
563
564 class bool(int):
565 def __new__(cls: Type[_T], __o: object = ...) -> _T: ...
566 @overload
567 def __and__(self, x: bool) -> bool: ...
568 @overload
569 def __and__(self, x: int) -> int: ...
570 @overload
571 def __or__(self, x: bool) -> bool: ...
572 @overload
573 def __or__(self, x: int) -> int: ...
574 @overload
575 def __xor__(self, x: bool) -> bool: ...
576 @overload
577 def __xor__(self, x: int) -> int: ...
578 @overload
579 def __rand__(self, x: bool) -> bool: ...
580 @overload
581 def __rand__(self, x: int) -> int: ...
582 @overload
583 def __ror__(self, x: bool) -> bool: ...
584 @overload
585 def __ror__(self, x: int) -> int: ...
586 @overload
587 def __rxor__(self, x: bool) -> bool: ...
588 @overload
589 def __rxor__(self, x: int) -> int: ...
590 def __getnewargs__(self) -> Tuple[int]: ...
591
592 class slice(object):
593 start: Any
594 step: Any
595 stop: Any
596 @overload
597 def __init__(self, stop: Any) -> None: ...
598 @overload
599 def __init__(self, start: Any, stop: Any, step: Any = ...) -> None: ...
600 __hash__: None # type: ignore
601 def indices(self, len: int) -> Tuple[int, int, int]: ...
602
603 class tuple(Sequence[_T_co], Generic[_T_co]):
604 def __new__(cls: Type[_T], iterable: Iterable[_T_co] = ...) -> _T: ...
605 def __len__(self) -> int: ...
606 def __contains__(self, x: object) -> bool: ...
607 @overload
608 def __getitem__(self, x: int) -> _T_co: ...
609 @overload
610 def __getitem__(self, x: slice) -> Tuple[_T_co, ...]: ...
611 def __iter__(self) -> Iterator[_T_co]: ...
612 def __lt__(self, x: Tuple[_T_co, ...]) -> bool: ...
613 def __le__(self, x: Tuple[_T_co, ...]) -> bool: ...
614 def __gt__(self, x: Tuple[_T_co, ...]) -> bool: ...
615 def __ge__(self, x: Tuple[_T_co, ...]) -> bool: ...
616 @overload
617 def __add__(self, x: Tuple[_T_co, ...]) -> Tuple[_T_co, ...]: ...
618 @overload
619 def __add__(self, x: Tuple[Any, ...]) -> Tuple[Any, ...]: ...
620 def __mul__(self, n: int) -> Tuple[_T_co, ...]: ...
621 def __rmul__(self, n: int) -> Tuple[_T_co, ...]: ...
622 def count(self, __value: Any) -> int: ...
623 def index(self, __value: Any) -> int: ...
624
625 class function:
626 # TODO not defined in builtins!
627 __name__: str
628 __module__: str
629 __code__: CodeType
630
631 class list(MutableSequence[_T], Generic[_T]):
632 @overload
633 def __init__(self) -> None: ...
634 @overload
635 def __init__(self, iterable: Iterable[_T]) -> None: ...
636 def append(self, __object: _T) -> None: ...
637 def extend(self, __iterable: Iterable[_T]) -> None: ...
638 def pop(self, __index: int = ...) -> _T: ...
639 def index(self, __value: _T, __start: int = ..., __stop: int = ...) -> int: ...
640 def count(self, __value: _T) -> int: ...
641 def insert(self, __index: int, __object: _T) -> None: ...
642 def remove(self, __value: _T) -> None: ...
643 def reverse(self) -> None: ...
644 def sort(self, cmp: Callable[[_T, _T], Any] = ..., key: Callable[[_T], Any] = ..., reverse: bool = ...) -> None: ...
645 def __len__(self) -> int: ...
646 def __iter__(self) -> Iterator[_T]: ...
647 def __str__(self) -> str: ...
648 __hash__: None # type: ignore
649 @overload
650 def __getitem__(self, i: int) -> _T: ...
651 @overload
652 def __getitem__(self, s: slice) -> List[_T]: ...
653 @overload
654 def __setitem__(self, i: int, o: _T) -> None: ...
655 @overload
656 def __setitem__(self, s: slice, o: Iterable[_T]) -> None: ...
657 def __delitem__(self, i: Union[int, slice]) -> None: ...
658 def __getslice__(self, start: int, stop: int) -> List[_T]: ...
659 def __setslice__(self, start: int, stop: int, o: Sequence[_T]) -> None: ...
660 def __delslice__(self, start: int, stop: int) -> None: ...
661 def __add__(self, x: List[_T]) -> List[_T]: ...
662 def __iadd__(self: _S, x: Iterable[_T]) -> _S: ...
663 def __mul__(self, n: int) -> List[_T]: ...
664 def __rmul__(self, n: int) -> List[_T]: ...
665 def __contains__(self, o: object) -> bool: ...
666 def __reversed__(self) -> Iterator[_T]: ...
667 def __gt__(self, x: List[_T]) -> bool: ...
668 def __ge__(self, x: List[_T]) -> bool: ...
669 def __lt__(self, x: List[_T]) -> bool: ...
670 def __le__(self, x: List[_T]) -> bool: ...
671
672 class dict(MutableMapping[_KT, _VT], Generic[_KT, _VT]):
673 # NOTE: Keyword arguments are special. If they are used, _KT must include
674 # str, but we have no way of enforcing it here.
675 @overload
676 def __init__(self, **kwargs: _VT) -> None: ...
677 @overload
678 def __init__(self, map: SupportsKeysAndGetItem[_KT, _VT], **kwargs: _VT) -> None: ...
679 @overload
680 def __init__(self, iterable: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...
681 def __new__(cls: Type[_T1], *args: Any, **kwargs: Any) -> _T1: ...
682 def has_key(self, k: _KT) -> bool: ...
683 def clear(self) -> None: ...
684 def copy(self) -> Dict[_KT, _VT]: ...
685 def popitem(self) -> Tuple[_KT, _VT]: ...
686 def setdefault(self, __key: _KT, __default: _VT = ...) -> _VT: ...
687 @overload
688 def update(self, __m: Mapping[_KT, _VT], **kwargs: _VT) -> None: ...
689 @overload
690 def update(self, __m: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...
691 @overload
692 def update(self, **kwargs: _VT) -> None: ...
693 def iterkeys(self) -> Iterator[_KT]: ...
694 def itervalues(self) -> Iterator[_VT]: ...
695 def iteritems(self) -> Iterator[Tuple[_KT, _VT]]: ...
696 def viewkeys(self) -> KeysView[_KT]: ...
697 def viewvalues(self) -> ValuesView[_VT]: ...
698 def viewitems(self) -> ItemsView[_KT, _VT]: ...
699 @classmethod
700 @overload
701 def fromkeys(cls, __iterable: Iterable[_T]) -> Dict[_T, Any]: ...
702 @classmethod
703 @overload
704 def fromkeys(cls, __iterable: Iterable[_T], __value: _S) -> Dict[_T, _S]: ...
705 def __len__(self) -> int: ...
706 def __getitem__(self, k: _KT) -> _VT: ...
707 def __setitem__(self, k: _KT, v: _VT) -> None: ...
708 def __delitem__(self, v: _KT) -> None: ...
709 def __iter__(self) -> Iterator[_KT]: ...
710 def __str__(self) -> str: ...
711 __hash__: None # type: ignore
712
713 class set(MutableSet[_T], Generic[_T]):
714 def __init__(self, iterable: Iterable[_T] = ...) -> None: ...
715 def add(self, element: _T) -> None: ...
716 def clear(self) -> None: ...
717 def copy(self) -> Set[_T]: ...
718 def difference(self, *s: Iterable[Any]) -> Set[_T]: ...
719 def difference_update(self, *s: Iterable[Any]) -> None: ...
720 def discard(self, element: _T) -> None: ...
721 def intersection(self, *s: Iterable[Any]) -> Set[_T]: ...
722 def intersection_update(self, *s: Iterable[Any]) -> None: ...
723 def isdisjoint(self, s: Iterable[Any]) -> bool: ...
724 def issubset(self, s: Iterable[Any]) -> bool: ...
725 def issuperset(self, s: Iterable[Any]) -> bool: ...
726 def pop(self) -> _T: ...
727 def remove(self, element: _T) -> None: ...
728 def symmetric_difference(self, s: Iterable[_T]) -> Set[_T]: ...
729 def symmetric_difference_update(self, s: Iterable[_T]) -> None: ...
730 def union(self, *s: Iterable[_T]) -> Set[_T]: ...
731 def update(self, *s: Iterable[_T]) -> None: ...
732 def __len__(self) -> int: ...
733 def __contains__(self, o: object) -> bool: ...
734 def __iter__(self) -> Iterator[_T]: ...
735 def __str__(self) -> str: ...
736 def __and__(self, s: AbstractSet[object]) -> Set[_T]: ...
737 def __iand__(self, s: AbstractSet[object]) -> Set[_T]: ...
738 def __or__(self, s: AbstractSet[_S]) -> Set[Union[_T, _S]]: ...
739 def __ior__(self, s: AbstractSet[_S]) -> Set[Union[_T, _S]]: ...
740 @overload
741 def __sub__(self: Set[str], s: AbstractSet[Optional[Text]]) -> Set[_T]: ...
742 @overload
743 def __sub__(self, s: AbstractSet[Optional[_T]]) -> Set[_T]: ...
744 @overload # type: ignore
745 def __isub__(self: Set[str], s: AbstractSet[Optional[Text]]) -> Set[_T]: ...
746 @overload
747 def __isub__(self, s: AbstractSet[Optional[_T]]) -> Set[_T]: ...
748 def __xor__(self, s: AbstractSet[_S]) -> Set[Union[_T, _S]]: ...
749 def __ixor__(self, s: AbstractSet[_S]) -> Set[Union[_T, _S]]: ...
750 def __le__(self, s: AbstractSet[object]) -> bool: ...
751 def __lt__(self, s: AbstractSet[object]) -> bool: ...
752 def __ge__(self, s: AbstractSet[object]) -> bool: ...
753 def __gt__(self, s: AbstractSet[object]) -> bool: ...
754 __hash__: None # type: ignore
755
756 class frozenset(AbstractSet[_T_co], Generic[_T_co]):
757 def __init__(self, iterable: Iterable[_T_co] = ...) -> None: ...
758 def copy(self) -> FrozenSet[_T_co]: ...
759 def difference(self, *s: Iterable[object]) -> FrozenSet[_T_co]: ...
760 def intersection(self, *s: Iterable[object]) -> FrozenSet[_T_co]: ...
761 def isdisjoint(self, s: Iterable[_T_co]) -> bool: ...
762 def issubset(self, s: Iterable[object]) -> bool: ...
763 def issuperset(self, s: Iterable[object]) -> bool: ...
764 def symmetric_difference(self, s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...
765 def union(self, *s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...
766 def __len__(self) -> int: ...
767 def __contains__(self, o: object) -> bool: ...
768 def __iter__(self) -> Iterator[_T_co]: ...
769 def __str__(self) -> str: ...
770 def __and__(self, s: AbstractSet[_T_co]) -> FrozenSet[_T_co]: ...
771 def __or__(self, s: AbstractSet[_S]) -> FrozenSet[Union[_T_co, _S]]: ...
772 def __sub__(self, s: AbstractSet[_T_co]) -> FrozenSet[_T_co]: ...
773 def __xor__(self, s: AbstractSet[_S]) -> FrozenSet[Union[_T_co, _S]]: ...
774 def __le__(self, s: AbstractSet[object]) -> bool: ...
775 def __lt__(self, s: AbstractSet[object]) -> bool: ...
776 def __ge__(self, s: AbstractSet[object]) -> bool: ...
777 def __gt__(self, s: AbstractSet[object]) -> bool: ...
778
779 class enumerate(Iterator[Tuple[int, _T]], Generic[_T]):
780 def __init__(self, iterable: Iterable[_T], start: int = ...) -> None: ...
781 def __iter__(self) -> Iterator[Tuple[int, _T]]: ...
782 def next(self) -> Tuple[int, _T]: ...
783
784 class xrange(Sized, Iterable[int], Reversible[int]):
785 @overload
786 def __init__(self, stop: int) -> None: ...
787 @overload
788 def __init__(self, start: int, stop: int, step: int = ...) -> None: ...
789 def __len__(self) -> int: ...
790 def __iter__(self) -> Iterator[int]: ...
791 def __getitem__(self, i: int) -> int: ...
792 def __reversed__(self) -> Iterator[int]: ...
793
794 class property(object):
795 def __init__(
796 self,
797 fget: Optional[Callable[[Any], Any]] = ...,
798 fset: Optional[Callable[[Any, Any], None]] = ...,
799 fdel: Optional[Callable[[Any], None]] = ...,
800 doc: Optional[str] = ...,
801 ) -> None: ...
802 def getter(self, fget: Callable[[Any], Any]) -> property: ...
803 def setter(self, fset: Callable[[Any, Any], None]) -> property: ...
804 def deleter(self, fdel: Callable[[Any], None]) -> property: ...
805 def __get__(self, obj: Any, type: Optional[type] = ...) -> Any: ...
806 def __set__(self, obj: Any, value: Any) -> None: ...
807 def __delete__(self, obj: Any) -> None: ...
808 def fget(self) -> Any: ...
809 def fset(self, value: Any) -> None: ...
810 def fdel(self) -> None: ...
811
812 long = int
813
814 class _NotImplementedType(Any): # type: ignore
815 # A little weird, but typing the __call__ as NotImplemented makes the error message
816 # for NotImplemented() much better
817 __call__: NotImplemented # type: ignore
818
819 NotImplemented: _NotImplementedType
820
821 def abs(__x: SupportsAbs[_T]) -> _T: ...
822 def all(__iterable: Iterable[object]) -> bool: ...
823 def any(__iterable: Iterable[object]) -> bool: ...
824 def apply(__func: Callable[..., _T], __args: Optional[Sequence[Any]] = ..., __kwds: Optional[Mapping[str, Any]] = ...) -> _T: ...
825 def bin(__number: Union[int, _SupportsIndex]) -> str: ...
826 def callable(__obj: object) -> bool: ...
827 def chr(__i: int) -> str: ...
828 def cmp(__x: Any, __y: Any) -> int: ...
829
830 _N1 = TypeVar("_N1", bool, int, float, complex)
831
832 def coerce(__x: _N1, __y: _N1) -> Tuple[_N1, _N1]: ...
833
834 # This class is to be exported as PathLike from os,
835 # but we define it here as _PathLike to avoid import cycle issues.
836 # See https://github.com/python/typeshed/pull/991#issuecomment-288160993
837 _AnyStr_co = TypeVar("_AnyStr_co", str, bytes, covariant=True)
838 @runtime_checkable
839 class _PathLike(Protocol[_AnyStr_co]):
840 def __fspath__(self) -> _AnyStr_co: ...
841
842 def compile(source: Union[Text, mod], filename: Text, mode: Text, flags: int = ..., dont_inherit: int = ...) -> Any: ...
843 def delattr(__obj: Any, __name: Text) -> None: ...
844 def dir(__o: object = ...) -> List[str]: ...
845
846 _N2 = TypeVar("_N2", int, float)
847
848 def divmod(__x: _N2, __y: _N2) -> Tuple[_N2, _N2]: ...
849 def eval(
850 __source: Union[Text, bytes, CodeType], __globals: Optional[Dict[str, Any]] = ..., __locals: Optional[Mapping[str, Any]] = ...
851 ) -> Any: ...
852 def execfile(__filename: str, __globals: Optional[Dict[str, Any]] = ..., __locals: Optional[Dict[str, Any]] = ...) -> None: ...
853 def exit(code: object = ...) -> NoReturn: ...
854 @overload
855 def filter(__function: Callable[[AnyStr], Any], __iterable: AnyStr) -> AnyStr: ... # type: ignore
856 @overload
857 def filter(__function: None, __iterable: Tuple[Optional[_T], ...]) -> Tuple[_T, ...]: ... # type: ignore
858 @overload
859 def filter(__function: Callable[[_T], Any], __iterable: Tuple[_T, ...]) -> Tuple[_T, ...]: ... # type: ignore
860 @overload
861 def filter(__function: None, __iterable: Iterable[Optional[_T]]) -> List[_T]: ...
862 @overload
863 def filter(__function: Callable[[_T], Any], __iterable: Iterable[_T]) -> List[_T]: ...
864 def format(__value: object, __format_spec: str = ...) -> str: ... # TODO unicode
865 def getattr(__o: Any, name: Text, __default: Any = ...) -> Any: ...
866 def globals() -> Dict[str, Any]: ...
867 def hasattr(__obj: Any, __name: Text) -> bool: ...
868 def hash(__obj: object) -> int: ...
869 def hex(__number: Union[int, _SupportsIndex]) -> str: ...
870 def id(__obj: object) -> int: ...
871 def input(__prompt: Any = ...) -> Any: ...
872 def intern(__string: str) -> str: ...
873 @overload
874 def iter(__iterable: Iterable[_T]) -> Iterator[_T]: ...
875 @overload
876 def iter(__function: Callable[[], Optional[_T]], __sentinel: None) -> Iterator[_T]: ...
877 @overload
878 def iter(__function: Callable[[], _T], __sentinel: Any) -> Iterator[_T]: ...
879 def isinstance(__obj: object, __class_or_tuple: Union[type, Tuple[Union[type, Tuple[Any, ...]], ...]]) -> bool: ...
880 def issubclass(__cls: type, __class_or_tuple: Union[type, Tuple[Union[type, Tuple[Any, ...]], ...]]) -> bool: ...
881 def len(__obj: Sized) -> int: ...
882 def locals() -> Dict[str, Any]: ...
883 @overload
884 def map(__func: None, __iter1: Iterable[_T1]) -> List[_T1]: ...
885 @overload
886 def map(__func: None, __iter1: Iterable[_T1], __iter2: Iterable[_T2]) -> List[Tuple[_T1, _T2]]: ...
887 @overload
888 def map(__func: None, __iter1: Iterable[_T1], __iter2: Iterable[_T2], __iter3: Iterable[_T3]) -> List[Tuple[_T1, _T2, _T3]]: ...
889 @overload
890 def map(
891 __func: None, __iter1: Iterable[_T1], __iter2: Iterable[_T2], __iter3: Iterable[_T3], __iter4: Iterable[_T4]
892 ) -> List[Tuple[_T1, _T2, _T3, _T4]]: ...
893 @overload
894 def map(
895 __func: None,
896 __iter1: Iterable[_T1],
897 __iter2: Iterable[_T2],
898 __iter3: Iterable[_T3],
899 __iter4: Iterable[_T4],
900 __iter5: Iterable[_T5],
901 ) -> List[Tuple[_T1, _T2, _T3, _T4, _T5]]: ...
902 @overload
903 def map(
904 __func: None,
905 __iter1: Iterable[Any],
906 __iter2: Iterable[Any],
907 __iter3: Iterable[Any],
908 __iter4: Iterable[Any],
909 __iter5: Iterable[Any],
910 __iter6: Iterable[Any],
911 *iterables: Iterable[Any],
912 ) -> List[Tuple[Any, ...]]: ...
913 @overload
914 def map(__func: Callable[[_T1], _S], __iter1: Iterable[_T1]) -> List[_S]: ...
915 @overload
916 def map(__func: Callable[[_T1, _T2], _S], __iter1: Iterable[_T1], __iter2: Iterable[_T2]) -> List[_S]: ...
917 @overload
918 def map(
919 __func: Callable[[_T1, _T2, _T3], _S], __iter1: Iterable[_T1], __iter2: Iterable[_T2], __iter3: Iterable[_T3]
920 ) -> List[_S]: ...
921 @overload
922 def map(
923 __func: Callable[[_T1, _T2, _T3, _T4], _S],
924 __iter1: Iterable[_T1],
925 __iter2: Iterable[_T2],
926 __iter3: Iterable[_T3],
927 __iter4: Iterable[_T4],
928 ) -> List[_S]: ...
929 @overload
930 def map(
931 __func: Callable[[_T1, _T2, _T3, _T4, _T5], _S],
932 __iter1: Iterable[_T1],
933 __iter2: Iterable[_T2],
934 __iter3: Iterable[_T3],
935 __iter4: Iterable[_T4],
936 __iter5: Iterable[_T5],
937 ) -> List[_S]: ...
938 @overload
939 def map(
940 __func: Callable[..., _S],
941 __iter1: Iterable[Any],
942 __iter2: Iterable[Any],
943 __iter3: Iterable[Any],
944 __iter4: Iterable[Any],
945 __iter5: Iterable[Any],
946 __iter6: Iterable[Any],
947 *iterables: Iterable[Any],
948 ) -> List[_S]: ...
949 @overload
950 def max(__arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], Any] = ...) -> _T: ...
951 @overload
952 def max(__iterable: Iterable[_T], *, key: Callable[[_T], Any] = ...) -> _T: ...
953 @overload
954 def min(__arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], Any] = ...) -> _T: ...
955 @overload
956 def min(__iterable: Iterable[_T], *, key: Callable[[_T], Any] = ...) -> _T: ...
957 @overload
958 def next(__i: Iterator[_T]) -> _T: ...
959 @overload
960 def next(__i: Iterator[_T], default: _VT) -> Union[_T, _VT]: ...
961 def oct(__number: Union[int, _SupportsIndex]) -> str: ...
962 def open(name: Union[unicode, int], mode: unicode = ..., buffering: int = ...) -> BinaryIO: ...
963 def ord(__c: Union[Text, bytes]) -> int: ...
964
965 # This is only available after from __future__ import print_function.
966 def print(
967 *values: object, sep: Optional[Text] = ..., end: Optional[Text] = ..., file: Optional[SupportsWrite[Any]] = ...
968 ) -> None: ...
969
970 _E = TypeVar("_E", contravariant=True)
971 _M = TypeVar("_M", contravariant=True)
972
973 class _SupportsPow2(Protocol[_E, _T_co]):
974 def __pow__(self, __other: _E) -> _T_co: ...
975
976 class _SupportsPow3(Protocol[_E, _M, _T_co]):
977 def __pow__(self, __other: _E, __modulo: _M) -> _T_co: ...
978
979 @overload
980 def pow(__base: int, __exp: int, __mod: None = ...) -> Any: ... # returns int or float depending on whether exp is non-negative
981 @overload
982 def pow(__base: int, __exp: int, __mod: int) -> int: ...
983 @overload
984 def pow(__base: float, __exp: float, __mod: None = ...) -> float: ...
985 @overload
986 def pow(__base: _SupportsPow2[_E, _T_co], __exp: _E) -> _T_co: ...
987 @overload
988 def pow(__base: _SupportsPow3[_E, _M, _T_co], __exp: _E, __mod: _M) -> _T_co: ...
989 def quit(code: object = ...) -> NoReturn: ...
990 def range(__x: int, __y: int = ..., __step: int = ...) -> List[int]: ... # noqa: F811
991 def raw_input(__prompt: Any = ...) -> str: ...
992 @overload
993 def reduce(__function: Callable[[_T, _S], _T], __iterable: Iterable[_S], __initializer: _T) -> _T: ...
994 @overload
995 def reduce(__function: Callable[[_T, _T], _T], __iterable: Iterable[_T]) -> _T: ...
996 def reload(__module: Any) -> Any: ...
997 @overload
998 def reversed(__sequence: Sequence[_T]) -> Iterator[_T]: ...
999 @overload
1000 def reversed(__sequence: Reversible[_T]) -> Iterator[_T]: ...
1001 def repr(__obj: object) -> str: ...
1002 @overload
1003 def round(number: float) -> float: ...
1004 @overload
1005 def round(number: float, ndigits: int) -> float: ...
1006 @overload
1007 def round(number: SupportsFloat) -> float: ...
1008 @overload
1009 def round(number: SupportsFloat, ndigits: int) -> float: ...
1010 def setattr(__obj: Any, __name: Text, __value: Any) -> None: ...
1011 def sorted(
1012 __iterable: Iterable[_T],
1013 *,
1014 cmp: Callable[[_T, _T], int] = ...,
1015 key: Optional[Callable[[_T], Any]] = ...,
1016 reverse: bool = ...,
1017 ) -> List[_T]: ...
1018 @overload
1019 def sum(__iterable: Iterable[_T]) -> Union[_T, int]: ...
1020 @overload
1021 def sum(__iterable: Iterable[_T], __start: _S) -> Union[_T, _S]: ...
1022 def unichr(__i: int) -> unicode: ...
1023 def vars(__object: Any = ...) -> Dict[str, Any]: ...
1024 @overload
1025 def zip(__iter1: Iterable[_T1]) -> List[Tuple[_T1]]: ...
1026 @overload
1027 def zip(__iter1: Iterable[_T1], __iter2: Iterable[_T2]) -> List[Tuple[_T1, _T2]]: ...
1028 @overload
1029 def zip(__iter1: Iterable[_T1], __iter2: Iterable[_T2], __iter3: Iterable[_T3]) -> List[Tuple[_T1, _T2, _T3]]: ...
1030 @overload
1031 def zip(
1032 __iter1: Iterable[_T1], __iter2: Iterable[_T2], __iter3: Iterable[_T3], __iter4: Iterable[_T4]
1033 ) -> List[Tuple[_T1, _T2, _T3, _T4]]: ...
1034 @overload
1035 def zip(
1036 __iter1: Iterable[_T1], __iter2: Iterable[_T2], __iter3: Iterable[_T3], __iter4: Iterable[_T4], __iter5: Iterable[_T5]
1037 ) -> List[Tuple[_T1, _T2, _T3, _T4, _T5]]: ...
1038 @overload
1039 def zip(
1040 __iter1: Iterable[Any],
1041 __iter2: Iterable[Any],
1042 __iter3: Iterable[Any],
1043 __iter4: Iterable[Any],
1044 __iter5: Iterable[Any],
1045 __iter6: Iterable[Any],
1046 *iterables: Iterable[Any],
1047 ) -> List[Tuple[Any, ...]]: ...
1048 def __import__(
1049 name: Text,
1050 globals: Optional[Mapping[str, Any]] = ...,
1051 locals: Optional[Mapping[str, Any]] = ...,
1052 fromlist: Sequence[str] = ...,
1053 level: int = ...,
1054 ) -> Any: ...
1055
1056 # Actually the type of Ellipsis is <type 'ellipsis'>, but since it's
1057 # not exposed anywhere under that name, we make it private here.
1058 class ellipsis: ...
1059
1060 Ellipsis: ellipsis
1061
1062 # TODO: buffer support is incomplete; e.g. some_string.startswith(some_buffer) doesn't type check.
1063 _AnyBuffer = TypeVar("_AnyBuffer", str, unicode, bytearray, buffer)
1064
1065 class buffer(Sized):
1066 def __init__(self, object: _AnyBuffer, offset: int = ..., size: int = ...) -> None: ...
1067 def __add__(self, other: _AnyBuffer) -> str: ...
1068 def __cmp__(self, other: _AnyBuffer) -> bool: ...
1069 def __getitem__(self, key: Union[int, slice]) -> str: ...
1070 def __getslice__(self, i: int, j: int) -> str: ...
1071 def __len__(self) -> int: ...
1072 def __mul__(self, x: int) -> str: ...
1073
1074 class BaseException(object):
1075 args: Tuple[Any, ...]
1076 message: Any
1077 def __init__(self, *args: object) -> None: ...
1078 def __str__(self) -> str: ...
1079 def __repr__(self) -> str: ...
1080 def __getitem__(self, i: int) -> Any: ...
1081 def __getslice__(self, start: int, stop: int) -> Tuple[Any, ...]: ...
1082
1083 class GeneratorExit(BaseException): ...
1084 class KeyboardInterrupt(BaseException): ...
1085
1086 class SystemExit(BaseException):
1087 code: int
1088
1089 class Exception(BaseException): ...
1090 class StopIteration(Exception): ...
1091 class StandardError(Exception): ...
1092
1093 _StandardError = StandardError
1094
1095 class EnvironmentError(StandardError):
1096 errno: int
1097 strerror: str
1098 # TODO can this be unicode?
1099 filename: str
1100
1101 class OSError(EnvironmentError): ...
1102 class IOError(EnvironmentError): ...
1103 class ArithmeticError(_StandardError): ...
1104 class AssertionError(_StandardError): ...
1105 class AttributeError(_StandardError): ...
1106 class BufferError(_StandardError): ...
1107 class EOFError(_StandardError): ...
1108 class ImportError(_StandardError): ...
1109 class LookupError(_StandardError): ...
1110 class MemoryError(_StandardError): ...
1111 class NameError(_StandardError): ...
1112 class ReferenceError(_StandardError): ...
1113 class RuntimeError(_StandardError): ...
1114
1115 class SyntaxError(_StandardError):
1116 msg: str
1117 lineno: Optional[int]
1118 offset: Optional[int]
1119 text: Optional[str]
1120 filename: Optional[str]
1121
1122 class SystemError(_StandardError): ...
1123 class TypeError(_StandardError): ...
1124 class ValueError(_StandardError): ...
1125 class FloatingPointError(ArithmeticError): ...
1126 class OverflowError(ArithmeticError): ...
1127 class ZeroDivisionError(ArithmeticError): ...
1128 class IndexError(LookupError): ...
1129 class KeyError(LookupError): ...
1130 class UnboundLocalError(NameError): ...
1131
1132 class WindowsError(OSError):
1133 winerror: int
1134
1135 class NotImplementedError(RuntimeError): ...
1136 class IndentationError(SyntaxError): ...
1137 class TabError(IndentationError): ...
1138 class UnicodeError(ValueError): ...
1139
1140 class UnicodeDecodeError(UnicodeError):
1141 encoding: str
1142 object: bytes
1143 start: int
1144 end: int
1145 reason: str
1146 def __init__(self, __encoding: str, __object: bytes, __start: int, __end: int, __reason: str) -> None: ...
1147
1148 class UnicodeEncodeError(UnicodeError):
1149 encoding: str
1150 object: Text
1151 start: int
1152 end: int
1153 reason: str
1154 def __init__(self, __encoding: str, __object: Text, __start: int, __end: int, __reason: str) -> None: ...
1155
1156 class UnicodeTranslateError(UnicodeError): ...
1157 class Warning(Exception): ...
1158 class UserWarning(Warning): ...
1159 class DeprecationWarning(Warning): ...
1160 class SyntaxWarning(Warning): ...
1161 class RuntimeWarning(Warning): ...
1162 class FutureWarning(Warning): ...
1163 class PendingDeprecationWarning(Warning): ...
1164 class ImportWarning(Warning): ...
1165 class UnicodeWarning(Warning): ...
1166 class BytesWarning(Warning): ...
1167
1168 class file(BinaryIO):
1169 @overload
1170 def __init__(self, file: str, mode: str = ..., buffering: int = ...) -> None: ...
1171 @overload
1172 def __init__(self, file: unicode, mode: str = ..., buffering: int = ...) -> None: ...
1173 @overload
1174 def __init__(self, file: int, mode: str = ..., buffering: int = ...) -> None: ...
1175 def __iter__(self) -> Iterator[str]: ...
1176 def next(self) -> str: ...
1177 def read(self, n: int = ...) -> str: ...
1178 def __enter__(self) -> BinaryIO: ...
1179 def __exit__(
1180 self, t: Optional[type] = ..., exc: Optional[BaseException] = ..., tb: Optional[Any] = ...
1181 ) -> Optional[bool]: ...
1182 def flush(self) -> None: ...
1183 def fileno(self) -> int: ...
1184 def isatty(self) -> bool: ...
1185 def close(self) -> None: ...
1186 def readable(self) -> bool: ...
1187 def writable(self) -> bool: ...
1188 def seekable(self) -> bool: ...
1189 def seek(self, offset: int, whence: int = ...) -> int: ...
1190 def tell(self) -> int: ...
1191 def readline(self, limit: int = ...) -> str: ...
1192 def readlines(self, hint: int = ...) -> List[str]: ...
1193 def write(self, data: str) -> int: ...
1194 def writelines(self, data: Iterable[str]) -> None: ...
1195 def truncate(self, pos: Optional[int] = ...) -> int: ...
1196