Skip to content

Commit 5e939e6

Browse files
committed
typing: Add typing module.
1 parent d717b04 commit 5e939e6

File tree

3 files changed

+181
-0
lines changed

3 files changed

+181
-0
lines changed

python-stdlib/typing/manifest.py

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
metadata(version="0.1")
2+
3+
module("typing.py")

python-stdlib/typing/test_typing.py

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# This doesn't quite test everything but just serves to verify that basic syntax works,
2+
# which for MicroPython means everything typing-related should be ignored.
3+
4+
from typing import *
5+
6+
MyAlias = str
7+
Vector = List[float]
8+
Nested = Iterable[Tuple[int, ...]]
9+
UserId = NewType("UserId", int)
10+
T = TypeVar("T", int, float, complex)
11+
12+
hintedGlobal: Any = None
13+
14+
15+
def func_with_hints(c: int, b: MyAlias, a: Union[int, None], lst: List[float] = [0.0]) -> Any:
16+
pass
17+
18+
19+
class ClassWithHints(Generic[T]):
20+
21+
a: int = 0
22+
23+
def foo(self, other: int) -> None:
24+
pass

python-stdlib/typing/typing.py

+154
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,154 @@
1+
def cast(type, val):
2+
return val
3+
4+
5+
def get_origin(type):
6+
return None
7+
8+
9+
def get_args(type):
10+
return ()
11+
12+
13+
def no_type_check(arg):
14+
return arg
15+
16+
17+
def overload(func):
18+
return None
19+
20+
21+
class _AnyCall:
22+
def __init__(*args, **kwargs):
23+
pass
24+
25+
def __call__(*args, **kwargs):
26+
pass
27+
28+
29+
_anyCall = _AnyCall()
30+
31+
32+
class _SubscriptableType:
33+
def __getitem__(self, arg):
34+
return _anyCall
35+
36+
37+
_Subscriptable = _SubscriptableType()
38+
39+
40+
def TypeVar(type, *types):
41+
return None
42+
43+
44+
def NewType(name, type):
45+
return type
46+
47+
48+
class Any:
49+
pass
50+
51+
52+
class BinaryIO:
53+
pass
54+
55+
56+
class ClassVar:
57+
pass
58+
59+
60+
class Final:
61+
pass
62+
63+
64+
class Hashable:
65+
pass
66+
67+
68+
class IO:
69+
pass
70+
71+
72+
class NoReturn:
73+
pass
74+
75+
76+
class Sized:
77+
pass
78+
79+
80+
class SupportsInt:
81+
pass
82+
83+
84+
class SupportsFloat:
85+
pass
86+
87+
88+
class SupportsComplex:
89+
pass
90+
91+
92+
class SupportsBytes:
93+
pass
94+
95+
96+
class SupportsIndex:
97+
pass
98+
99+
100+
class SupportsAbs:
101+
pass
102+
103+
104+
class SupportsRound:
105+
pass
106+
107+
108+
class TextIO:
109+
pass
110+
111+
112+
AnyStr = str
113+
Text = str
114+
Pattern = str
115+
Match = str
116+
TypedDict = dict
117+
118+
AbstractSet = _Subscriptable
119+
AsyncContextManager = _Subscriptable
120+
AsyncGenerator = _Subscriptable
121+
AsyncIterable = _Subscriptable
122+
AsyncIterator = _Subscriptable
123+
Awaitable = _Subscriptable
124+
Callable = _Subscriptable
125+
ChainMap = _Subscriptable
126+
Collection = _Subscriptable
127+
Container = _Subscriptable
128+
ContextManager = _Subscriptable
129+
Coroutine = _Subscriptable
130+
Counter = _Subscriptable
131+
DefaultDict = _Subscriptable
132+
Deque = _Subscriptable
133+
Dict = _Subscriptable
134+
FrozenSet = _Subscriptable
135+
Generator = _Subscriptable
136+
Generic = _Subscriptable
137+
Iterable = _Subscriptable
138+
Iterator = _Subscriptable
139+
List = _Subscriptable
140+
Literal = _Subscriptable
141+
Mapping = _Subscriptable
142+
MutableMapping = _Subscriptable
143+
MutableSequence = _Subscriptable
144+
MutableSet = _Subscriptable
145+
NamedTuple = _Subscriptable
146+
Optional = _Subscriptable
147+
OrderedDict = _Subscriptable
148+
Sequence = _Subscriptable
149+
Set = _Subscriptable
150+
Tuple = _Subscriptable
151+
Type = _Subscriptable
152+
Union = _Subscriptable
153+
154+
TYPE_CHECKING = False

0 commit comments

Comments
 (0)