use Pydantic's try_eval_type if available (otherwise deprecation warning)

This commit is contained in:
svlandeg 2026-03-12 22:10:53 +01:00
parent 11614be902
commit 5fe7833bb7
1 changed files with 6 additions and 2 deletions

View File

@ -22,10 +22,10 @@ from pydantic import BaseModel, ConfigDict, Field, TypeAdapter, create_model
from pydantic import PydanticSchemaGenerationError as PydanticSchemaGenerationError
from pydantic import PydanticUndefinedAnnotation as PydanticUndefinedAnnotation
from pydantic import ValidationError as ValidationError
from pydantic._internal import _typing_extra as _pydantic_typing_extra
from pydantic._internal._schema_generation_shared import ( # type: ignore[attr-defined]
GetJsonSchemaHandler as GetJsonSchemaHandler,
)
from pydantic._internal._typing_extra import eval_type_lenient
from pydantic.fields import FieldInfo as FieldInfo
from pydantic.json_schema import GenerateJsonSchema as _GenerateJsonSchema
from pydantic.json_schema import JsonSchemaValue as JsonSchemaValue
@ -38,7 +38,11 @@ from pydantic_core.core_schema import (
RequiredParam = PydanticUndefined
Undefined = PydanticUndefined
evaluate_forwardref = eval_type_lenient
# eval_type_lenient has been deprecated since Pydantic v2.10.0b1 (PR #10530)
evaluate_forwardref = getattr(_pydantic_typing_extra, "try_eval_type", None)
if evaluate_forwardref is None:
evaluate_forwardref = getattr(_pydantic_typing_extra, "eval_type_lenient")
class GenerateJsonSchema(_GenerateJsonSchema):