]> git.ipfire.org Git - thirdparty/fastapi/fastapi.git/commitdiff
🎨 Add newly required type annotations for mypy (#2882)
authorSebastián Ramírez <tiangolo@gmail.com>
Mon, 1 Mar 2021 19:01:50 +0000 (20:01 +0100)
committerGitHub <noreply@github.com>
Mon, 1 Mar 2021 19:01:50 +0000 (20:01 +0100)
* ⬆️ Upgrade mypy

* 🎨 Add extra type annotations, now required by mypy

fastapi/dependencies/utils.py
fastapi/exceptions.py
pyproject.toml

index fcfaa2cb19246080159d5ff2c85ca93c5c1f7561..923669b94ba85c5cb1205df56913d9cd4b3fae84 100644 (file)
@@ -752,7 +752,7 @@ def get_body_field(*, dependant: Dependant, name: str) -> Optional[ModelField]:
     for param in flat_dependant.body_params:
         setattr(param.field_info, "embed", True)
     model_name = "Body_" + name
-    BodyModel = create_model(model_name)
+    BodyModel: Type[BaseModel] = create_model(model_name)
     for f in flat_dependant.body_params:
         BodyModel.__fields__[f.name] = get_schema_compatible_field(field=f)
     required = any(True for f in flat_dependant.body_params if f.required)
index 8d92311d49f561b56794dcda2ddb35866754a44f..f4a837bb4e2bf4621d3e8cfcd855c84f15aaae2b 100644 (file)
@@ -1,6 +1,6 @@
-from typing import Any, Dict, Optional, Sequence
+from typing import Any, Dict, Optional, Sequence, Type
 
-from pydantic import ValidationError, create_model
+from pydantic import BaseModel, ValidationError, create_model
 from pydantic.error_wrappers import ErrorList
 from starlette.exceptions import HTTPException as StarletteHTTPException
 
@@ -16,8 +16,8 @@ class HTTPException(StarletteHTTPException):
         self.headers = headers
 
 
-RequestErrorModel = create_model("Request")
-WebSocketErrorModel = create_model("WebSocket")
+RequestErrorModel: Type[BaseModel] = create_model("Request")
+WebSocketErrorModel: Type[BaseModel] = create_model("WebSocket")
 
 
 class FastAPIError(RuntimeError):
index 567276036f35e1978c91139e46a43596a314e3b0..2f057f5aa844ea0f366649d449054e749af962fd 100644 (file)
@@ -46,7 +46,7 @@ test = [
     "pytest ==5.4.3",
     "pytest-cov ==2.10.0",
     "pytest-asyncio >=0.14.0,<0.15.0",
-    "mypy ==0.790",
+    "mypy ==0.812",
     "flake8 >=3.8.3,<4.0.0",
     "black ==20.8b1",
     "isort >=5.0.6,<6.0.0",