Я пытаюсь написать приложение, использующее FastAPI, которое интенсивно использует pydantic. Также я хотел бы проверить мой код, используя mypy
. Как я могу использовать аннотации типов для pydantic и mypy без конфликтов?
Я знаю о type: ignore
комментариях, но, на мой взгляд, это своего рода обман:)
Пример:
from pydantic import BaseModel, Schema
class UsersQuery(BaseModel):
limit: int = Schema(default=100, gt=0, le=100)
offset: int = Schema(default=0, ge=0)
Этот код работает правильно, но не проходит проверку типа.
mypy output:
error: Incompatible types in assignment (expression has type "Schema", variable has type "int")
error: Incompatible types in assignment (expression has type "Schema", variable has type "int")