В настоящее время я работаю с учебником 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")
Я мог бы # ввести: игнорировать, но тогда я потеряю подсказки типа и проверку в моем редакторе. Я упустил что-то очевидное, или мне просто нужно отключить mypy для проектов FastAPI?