Spaces:
Runtime error
Runtime error
| from __future__ import annotations | |
| from typing import Any, cast, Dict, Type | |
| import pydantic | |
| # --------------- Pydantic v2 compatibility --------------- | |
| PYDANTIC_V2 = pydantic.VERSION.startswith("2.") | |
| def model_json(model: pydantic.BaseModel, **kwargs) -> str: | |
| if PYDANTIC_V2: | |
| return model.model_dump_json(**kwargs) | |
| return model.json(**kwargs) # type: ignore | |
| def model_dump(model: pydantic.BaseModel, **kwargs) -> Dict[str, Any]: | |
| if PYDANTIC_V2: | |
| return model.model_dump(**kwargs) | |
| return cast( | |
| "dict[str, Any]", | |
| model.dict(**kwargs), | |
| ) | |
| def model_parse(model: Type[pydantic.BaseModel], data: Any) -> pydantic.BaseModel: | |
| if PYDANTIC_V2: | |
| return model.model_validate(data) | |
| return model.parse_obj(data) # pyright: ignore[reportDeprecated] | |
| def disable_warnings(model: Type[pydantic.BaseModel]): | |
| # Disable warning for model_name settings | |
| if PYDANTIC_V2: | |
| model.model_config["protected_namespaces"] = () | |