From a4984b83a484afdd8d7f1d8be3ad084eb6685f8a Mon Sep 17 00:00:00 2001 From: Nir Schulman Date: Sat, 8 Nov 2025 11:50:29 +0200 Subject: [PATCH] Removed kw_only from dataclass since it's not supported in python 3.8 and 3.9 --- fastapi/dependencies/models.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/fastapi/dependencies/models.py b/fastapi/dependencies/models.py index 725559a56..74817ed3d 100644 --- a/fastapi/dependencies/models.py +++ b/fastapi/dependencies/models.py @@ -27,13 +27,10 @@ class SecurityRequirement: scopes: Optional[Sequence[str]] = None -@dataclass(kw_only=True, slots=True) +@dataclass class _BaseDependant: - name: Optional[str] = None - index: Optional[int] = None - call: Optional[Callable[..., Any]] = None - scope: DependencyScope = None - use_cache: bool = True + call: Optional[Callable[..., Any]] + scope: DependencyScope @cached_property def is_gen_callable(self) -> bool: @@ -65,6 +62,9 @@ class LifespanDependant(_BaseDependant): caller: Callable[..., Any] call: Callable[..., Any] dependencies: List["LifespanDependant"] = field(default_factory=list) + use_cache: bool = True + name: Optional[str] = None + index: Optional[int] = None @cached_property def cache_key(self) -> LifespanDependencyCacheKey: @@ -81,6 +81,10 @@ class LifespanDependant(_BaseDependant): @dataclass class EndpointDependant(_BaseDependant): + name: Optional[str] = None + index: Optional[int] = None + call: Optional[Callable[..., Any]] = None + use_cache: bool = True scope: EndpointDependencyScope = None path_params: List[ModelField] = field(default_factory=list) query_params: List[ModelField] = field(default_factory=list)