_pydantic_compat.py
1 from typing import TYPE_CHECKING 2 3 import pydantic 4 5 v = 1 if pydantic.__version__.startswith("1") else 2 6 7 if v == 1: 8 from pydantic import BaseConfig # type: ignore[assignment] 9 from pydantic import BaseModel # type: ignore[assignment] 10 from pydantic import EmailStr # type: ignore[attr-defined,no-redef] 11 from pydantic import Extra # type: ignore[assignment] 12 from pydantic import Field # type: ignore[assignment] 13 from pydantic import PrivateAttr 14 from pydantic import SecretStr # type: ignore[assignment] 15 from pydantic import StrictBool # type: ignore[assignment] 16 from pydantic import ValidationError # type: ignore[assignment] 17 from pydantic import create_model # type: ignore[attr-defined,no-redef] 18 from pydantic import parse_obj_as 19 from pydantic import root_validator # type: ignore[attr-defined,no-redef] 20 from pydantic import validator 21 from pydantic.fields import SHAPE_DICT # type: ignore[attr-defined,no-redef] 22 from pydantic.fields import SHAPE_LIST # type: ignore[attr-defined,no-redef] 23 from pydantic.fields import SHAPE_SET # type: ignore[attr-defined,no-redef] 24 from pydantic.fields import SHAPE_SINGLETON # type: ignore[attr-defined,no-redef] 25 from pydantic.fields import SHAPE_TUPLE # type: ignore[attr-defined,no-redef] 26 from pydantic.fields import ModelField # type: ignore[attr-defined,no-redef] 27 from pydantic.main import ModelMetaclass # type: ignore[attr-defined,no-redef] 28 from pydantic.utils import import_string # type: ignore[attr-defined,no-redef] 29 from pydantic.validators import _VALIDATORS # type: ignore[attr-defined,no-redef] 30 31 if TYPE_CHECKING: 32 from pydantic.main import AbstractSetIntStr # type: ignore[attr-defined,no-redef] 33 from pydantic.main import MappingIntStrAny # type: ignore[attr-defined,no-redef] 34 from pydantic.main import Model # type: ignore[attr-defined,no-redef] 35 from pydantic.typing import DictStrAny # type: ignore[attr-defined,no-redef] 36 37 else: 38 from pydantic.v1 import BaseConfig # type: ignore[assignment,no-redef] 39 from pydantic.v1 import BaseModel # type: ignore[assignment,no-redef] 40 from pydantic.v1 import EmailStr # type: ignore[assignment,no-redef] 41 from pydantic.v1 import Extra # type: ignore[assignment,no-redef] 42 from pydantic.v1 import Field # type: ignore[assignment,no-redef] 43 from pydantic.v1 import PrivateAttr # type: ignore[assignment,no-redef] 44 from pydantic.v1 import SecretStr # type: ignore[assignment,no-redef] 45 from pydantic.v1 import StrictBool # type: ignore[assignment,no-redef] 46 from pydantic.v1 import ValidationError # type: ignore[assignment,no-redef] 47 from pydantic.v1 import create_model # type: ignore[assignment,no-redef] 48 from pydantic.v1 import parse_obj_as # type: ignore[assignment,no-redef] 49 from pydantic.v1 import root_validator # type: ignore[assignment,no-redef] 50 from pydantic.v1 import validator # type: ignore[assignment,no-redef] 51 from pydantic.v1.fields import SHAPE_DICT # type: ignore[assignment,no-redef] 52 from pydantic.v1.fields import SHAPE_LIST # type: ignore[assignment,no-redef] 53 from pydantic.v1.fields import SHAPE_SET # type: ignore[assignment,no-redef] 54 from pydantic.v1.fields import SHAPE_SINGLETON # type: ignore[assignment,no-redef] 55 from pydantic.v1.fields import SHAPE_TUPLE # type: ignore[assignment,no-redef] 56 from pydantic.v1.fields import ModelField # type: ignore[assignment,no-redef] 57 from pydantic.v1.main import ModelMetaclass # type: ignore[assignment,no-redef] 58 from pydantic.v1.utils import import_string # type: ignore[assignment,no-redef] 59 from pydantic.v1.validators import _VALIDATORS # type: ignore[assignment,no-redef] 60 61 if TYPE_CHECKING: 62 from pydantic.v1.main import AbstractSetIntStr # type: ignore[assignment,no-redef] 63 from pydantic.v1.main import MappingIntStrAny # type: ignore[assignment,no-redef] 64 from pydantic.v1.main import Model # type: ignore[assignment,no-redef] 65 from pydantic.v1.typing import DictStrAny # type: ignore[assignment,no-redef] 66 67 __all__ = [ 68 "BaseConfig", 69 "BaseModel", 70 "Field", 71 "ValidationError", 72 "parse_obj_as", 73 "validator", 74 "SecretStr", 75 "StrictBool", 76 "SHAPE_DICT", 77 "SHAPE_LIST", 78 "SHAPE_SET", 79 "SHAPE_SINGLETON", 80 "SHAPE_TUPLE", 81 "ModelField", 82 "ModelMetaclass", 83 "import_string", 84 "_VALIDATORS", 85 "Model", 86 "MappingIntStrAny", 87 "AbstractSetIntStr", 88 "DictStrAny", 89 "PrivateAttr", 90 "Extra", 91 "create_model", 92 "EmailStr", 93 "root_validator", 94 ]