diff --git a/sanic_ext/extras/validation/clean.py b/sanic_ext/extras/validation/clean.py index 0dfcd22..e62a0e8 100644 --- a/sanic_ext/extras/validation/clean.py +++ b/sanic_ext/extras/validation/clean.py @@ -1,13 +1,17 @@ from typing import Any, Optional, Type, get_origin, get_type_hints -import pydantic + +try: + import pydantic +except ImportError: + pydantic = None def clean_data( model: type[object], data: dict[str, Any], ) -> dict[str, Any]: - if isinstance(model, pydantic.BaseModel): + if pydantic and isinstance(model, pydantic.BaseModel): hints: dict[str, type] = {} for key, field in model.__annotations__.items(): hints[key] = field.annotation