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
|