В настоящее время я работаю над учебником по fastAPI, и моя среда настроена на использование black, flake8, bandit и mypy. Все в этом уроке работает нормально, но мне постоянно приходится # печатать: игнорировать вещи, чтобы заставить mypy взаимодействовать.
class Item(BaseModel):
name: str
description: str = None
price: float
tax: float = None
@app.post("/items/")
async def create_items(item: Item) -> Item:
return item
Mypy тогда ошибки:
❯ mypy main.py [14:34:08]
main.py:9: error: Incompatible types in assignment (expression has type "None", variable has type "str")
main.py:11: error: Incompatible types in assignment (expression has type "None", variable has type "float")
Я мог бы # type: ignore, но тогда я теряю подсказки типов и проверку в моем редакторе. Я что-то упускаю из виду или мне просто нужно отключить mypy для проектов FastAPI?