File size: 720 Bytes
d1ceb73
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
from __future__ import annotations

import sys
from typing import Any, Dict

if sys.version_info >= (3, 8):
    from typing import Literal, TypedDict
else:
    # avoid runtime dependency on typing_extensions on py37
    try:
        from typing_extensions import Literal, TypedDict  # type: ignore
    except ImportError:

        class _Literal:
            def __getitem__(self, key):
                return Any

        Literal = _Literal()  # type: ignore

        class TypedDict(Dict):  # type: ignore
            pass


if sys.version_info >= (3, 10):
    from typing import TypeAlias
else:
    try:
        from typing_extensions import TypeAlias
    except ImportError:
        TypeAlias = type  # type: ignore