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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
""" Platform-dependent objects """
import sys
if sys.flags.optimize == 2:
raise RuntimeError("Cerberus can't be run with Python's optimization level 2.")
if sys.version_info < (3,):
_int_types = (int, long) # noqa: F821
_str_type = basestring # noqa: F821
else:
_int_types = (int,)
_str_type = str
if sys.version_info < (3, 3):
from collections import (
Callable,
Container,
Hashable,
Iterable,
Mapping,
MutableMapping,
Sequence,
Set,
Sized,
)
else:
from collections.abc import (
Callable,
Container,
Hashable,
Iterable,
Mapping,
MutableMapping,
Sequence,
Set,
Sized,
)
if sys.version_info < (3, 8):
import importlib_metadata
else:
import importlib.metadata as importlib_metadata
__all__ = (
"_int_types",
"_str_type",
"importlib_metadata",
Callable.__name__,
Container.__name__,
Hashable.__name__,
Iterable.__name__,
Mapping.__name__,
MutableMapping.__name__,
Sequence.__name__,
Set.__name__,
Sized.__name__,
)
|