resolved RESOLVED UNSUBMITTED PASS · None tool calls · 0 s · fastapi/fastapi
(not found in data/tasks.jsonl)
| # | Tool | Arguments | Result |
|---|---|---|---|
| No trace captured. | |||
--- a/fastapi/_compat.py
+++ b/fastapi/_compat.py
@@ -1,3 +1,4 @@
+import warnings
from collections import deque
from copy import copy
from dataclasses import dataclass, is_dataclass
@@ -109,9 +110,20 @@ if PYDANTIC_V2:
return self.field_info.annotation
def __post_init__(self) -> None:
- self._type_adapter: TypeAdapter[Any] = TypeAdapter(
- Annotated[self.field_info.annotation, self.field_info]
- )
+ with warnings.catch_warnings():
+ # Pydantic >= 2.12.0 warns about field specific metadata that is unused
+ # (e.g. `TypeAdapter(Annotated[int, Field(alias='b')])`). In some cases, we
+ # end up building the type adapter from a model field annotation so we
+ # need to ignore the warning:
+ if PYDANTIC_VERSION_MINOR_TUPLE >= (2, 12):
+ from pydantic.warnings import UnsupportedFieldAttributeWarning
+
+ warnings.simplefilter(
+ "ignore", category=UnsupportedFieldAttributeWarning
+ )
+ self._type_adapter: TypeAdapter[Any] = TypeAdapter(
+ Annotated[self.field_info.annotation, self.field_info]
+ )
def get_default(self) -> Any:
if self.field_info.is_required():
--- a/fastapi/params.py
+++ b/fastapi/params.py
@@ -22,7 +22,7 @@ class ParamTypes(Enum):
cookie = "cookie"
-class Param(FieldInfo):
+class Param(FieldInfo): # type: ignore[misc]
in_: ParamTypes
def __init__(
@@ -136,7 +136,7 @@ class Param(FieldInfo):
return f"{self.__class__.__name__}({self.default})"
-class Path(Param):
+class Path(Param): # type: ignore[misc]
in_ = ParamTypes.path
def __init__(
@@ -222,7 +222,7 @@ class Path(Param):
)
-class Query(Param):
+class Query(Param): # type: ignore[misc]
in_ = ParamTypes.query
def __init__(
@@ -306,7 +306,7 @@ class Query(Param):
)
-class Header(Param):
+class Header(Param): # type: ignore[misc]
in_ = ParamTypes.header
def __init__(
@@ -392,7 +392,7 @@ class Header(Param):
)
-class Cookie(Param):
+class Cookie(Param): # type: ignore[misc]
in_ = ParamTypes.cookie
def __init__(
@@ -476,7 +476,7 @@ class Cookie(Param):
)
-class Body(FieldInfo):
+class Body(FieldInfo): # type: ignore[misc]
def __init__(
self,
default: Any = Undefined,
@@ -593,7 +593,7 @@ class Body(FieldInfo):
return f"{self.__class__.__name__}({self.default})"
-class Form(Body):
+class Form(Body): # type: ignore[misc]
def __init__(
self,
default: Any = Undefined,
@@ -677,7 +677,7 @@ class Form(Body):
)
-class File(Form):
+class File(Form): # type: ignore[misc]
def __init__(
self,
default: Any = Undefined,
.... [100%]
=============================== warnings summary ===============================
../../../../../../../Users/jp/repos/kaggle-gemini-coding-agent-post-training/.envs/overlays/starlette-0.48.0-py3-none-any/starlette/testclient.py:51
/Users/jp/repos/kaggle-gemini-coding-agent-post-training/.envs/overlays/starlette-0.48.0-py3-none-any/starlette/testclient.py:51: DeprecationWarning: The anyio.abc.BlockingPortal alias is deprecated, use anyio.from_thread.BlockingPortal instead.
_PortalFactoryType = Callable[[], AbstractContextManager[anyio.abc.BlockingPortal]]
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
4 passed, 1 warning in 0.52s