1 # Stubs for pickletools (Python 2 and 3)
\r
3 from typing import Any, Callable, IO, Iterator, List, MutableMapping, Optional, Text, Tuple, Type, Union
\r
5 _Reader = Callable[[IO[bytes]], Any]
\r
7 if sys.version_info >= (3, 0):
\r
8 bytes_types: Tuple[Type[Any], ...]
\r
11 TAKEN_FROM_ARGUMENT1: int
\r
12 TAKEN_FROM_ARGUMENT4: int
\r
13 if sys.version_info >= (3, 3):
\r
14 TAKEN_FROM_ARGUMENT4U: int
\r
15 if sys.version_info >= (3, 4):
\r
16 TAKEN_FROM_ARGUMENT8U: int
\r
18 class ArgumentDescriptor(object):
\r
23 def __init__(self, name: str, n: int, reader: _Reader, doc: str) -> None: ...
\r
25 def read_uint1(f: IO[bytes]) -> int: ...
\r
26 uint1: ArgumentDescriptor
\r
28 def read_uint2(f: IO[bytes]) -> int: ...
\r
29 uint2: ArgumentDescriptor
\r
31 def read_int4(f: IO[bytes]) -> int: ...
\r
32 int4: ArgumentDescriptor
\r
34 if sys.version_info >= (3, 3):
\r
35 def read_uint4(f: IO[bytes]) -> int: ...
\r
36 uint4: ArgumentDescriptor
\r
38 if sys.version_info >= (3, 5):
\r
39 def read_uint8(f: IO[bytes]) -> int: ...
\r
40 uint8: ArgumentDescriptor
\r
42 def read_stringnl(f: IO[bytes], decode: bool = ..., stripquotes: bool = ...) -> Union[bytes, Text]: ...
\r
43 stringnl: ArgumentDescriptor
\r
45 def read_stringnl_noescape(f: IO[bytes]) -> str: ...
\r
46 stringnl_noescape: ArgumentDescriptor
\r
48 def read_stringnl_noescape_pair(f: IO[bytes]) -> Text: ...
\r
49 stringnl_noescape_pair: ArgumentDescriptor
\r
51 def read_string1(f: IO[bytes]) -> str: ...
\r
52 string1: ArgumentDescriptor
\r
54 def read_string4(f: IO[bytes]) -> str: ...
\r
55 string4: ArgumentDescriptor
\r
57 if sys.version_info >= (3, 3):
\r
58 def read_bytes1(f: IO[bytes]) -> bytes: ...
\r
59 bytes1: ArgumentDescriptor
\r
61 def read_bytes4(f: IO[bytes]) -> bytes: ...
\r
62 bytes4: ArgumentDescriptor
\r
64 if sys.version_info >= (3, 4):
\r
65 def read_bytes8(f: IO[bytes]) -> bytes: ...
\r
66 bytes8: ArgumentDescriptor
\r
68 def read_unicodestringnl(f: IO[bytes]) -> Text: ...
\r
69 unicodestringnl: ArgumentDescriptor
\r
71 if sys.version_info >= (3, 4):
\r
72 def read_unicodestring1(f: IO[bytes]) -> Text: ...
\r
73 unicodestring1: ArgumentDescriptor
\r
75 def read_unicodestring4(f: IO[bytes]) -> Text: ...
\r
76 unicodestring4: ArgumentDescriptor
\r
78 if sys.version_info >= (3, 4):
\r
79 def read_unicodestring8(f: IO[bytes]) -> Text: ...
\r
80 unicodestring8: ArgumentDescriptor
\r
82 def read_decimalnl_short(f: IO[bytes]) -> int: ...
\r
83 def read_decimalnl_long(f: IO[bytes]) -> int: ...
\r
84 decimalnl_short: ArgumentDescriptor
\r
85 decimalnl_long: ArgumentDescriptor
\r
87 def read_floatnl(f: IO[bytes]) -> float: ...
\r
88 floatnl: ArgumentDescriptor
\r
90 def read_float8(f: IO[bytes]) -> float: ...
\r
91 float8: ArgumentDescriptor
\r
93 def read_long1(f: IO[bytes]) -> int: ...
\r
94 long1: ArgumentDescriptor
\r
96 def read_long4(f: IO[bytes]) -> int: ...
\r
97 long4: ArgumentDescriptor
\r
99 class StackObject(object):
\r
101 obtype: Union[Type[Any], Tuple[Type[Any], ...]]
\r
103 def __init__(self, name: str, obtype: Union[Type[Any], Tuple[Type[Any], ...]], doc: str) -> None: ...
\r
106 pylong: StackObject
\r
107 pyinteger_or_bool: StackObject
\r
108 pybool: StackObject
\r
109 pyfloat: StackObject
\r
110 if sys.version_info >= (3, 4):
\r
111 pybytes_or_str: StackObject
\r
112 pystring: StackObject
\r
113 if sys.version_info >= (3, 0):
\r
114 pybytes: StackObject
\r
115 pyunicode: StackObject
\r
116 pynone: StackObject
\r
117 pytuple: StackObject
\r
118 pylist: StackObject
\r
119 pydict: StackObject
\r
120 if sys.version_info >= (3, 4):
\r
122 pyfrozenset: StackObject
\r
123 anyobject: StackObject
\r
124 markobject: StackObject
\r
125 stackslice: StackObject
\r
127 class OpcodeInfo(object):
\r
130 arg: Optional[ArgumentDescriptor]
\r
131 stack_before: List[StackObject]
\r
132 stack_after: List[StackObject]
\r
135 def __init__(self, name: str, code: str, arg: Optional[ArgumentDescriptor],
\r
136 stack_before: List[StackObject], stack_after: List[StackObject], proto: int, doc: str) -> None: ...
\r
138 opcodes: List[OpcodeInfo]
\r
140 def genops(pickle: Union[bytes, IO[bytes]]) -> Iterator[Tuple[OpcodeInfo, Optional[Any], Optional[int]]]: ...
\r
141 def optimize(p: Union[bytes, IO[bytes]]) -> bytes: ...
\r
142 if sys.version_info >= (3, 2):
\r
143 def dis(pickle: Union[bytes, IO[bytes]], out: Optional[IO[str]] = ..., memo: Optional[MutableMapping[int, Any]] = ..., indentlevel: int = ..., annotate: int = ...) -> None: ...
\r
145 def dis(pickle: Union[bytes, IO[bytes]], out: Optional[IO[str]] = ..., memo: Optional[MutableMapping[int, Any]] = ..., indentlevel: int = ...) -> None: ...
\r