pyzmq/zmq/_typing.py

31 lines
720 B
Python

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