From 67827a36d1257840bbb3464362457352ba864b38 Mon Sep 17 00:00:00 2001 From: ZipFile Date: Sun, 1 Jun 2025 18:46:30 +0000 Subject: [PATCH] Fix mypy warnigns in containers.pyi --- src/dependency_injector/containers.pyi | 58 +++++++++++++------------- 1 file changed, 30 insertions(+), 28 deletions(-) diff --git a/src/dependency_injector/containers.pyi b/src/dependency_injector/containers.pyi index c637f19c..8e82debd 100644 --- a/src/dependency_injector/containers.pyi +++ b/src/dependency_injector/containers.pyi @@ -1,23 +1,25 @@ from pathlib import Path from typing import ( - Generic, - Type, - Dict, - List, - Tuple, - Optional, Any, - Union, - ClassVar, + Awaitable, Callable as _Callable, + ClassVar, + Dict, + Generic, Iterable, Iterator, + List, + Optional, + Tuple, + Type, TypeVar, - Awaitable, + Union, overload, ) -from .providers import Provider, Self, ProviderParent +from typing_extensions import Self as _Self + +from .providers import Provider, ProviderParent, Self C_Base = TypeVar("C_Base", bound="Container") C = TypeVar("C", bound="DeclarativeContainer") @@ -41,23 +43,23 @@ class WiringConfiguration: ) -> None: ... class Container: - provider_type: Type[Provider] = Provider - providers: Dict[str, Provider] + provider_type: Type[Provider[Any]] = Provider + providers: Dict[str, Provider[Any]] dependencies: Dict[str, Provider[Any]] - overridden: Tuple[Provider] + overridden: Tuple[Provider[Any], ...] wiring_config: WiringConfiguration auto_load_config: bool = True __self__: Self def __init__(self) -> None: ... - def __deepcopy__(self, memo: Optional[Dict[str, Any]]) -> Provider: ... - def __setattr__(self, name: str, value: Union[Provider, Any]) -> None: ... - def __getattr__(self, name: str) -> Provider: ... + def __deepcopy__(self, memo: Optional[Dict[str, Any]]) -> _Self: ... + def __setattr__(self, name: str, value: Union[Provider[Any], Any]) -> None: ... + def __getattr__(self, name: str) -> Provider[Any]: ... def __delattr__(self, name: str) -> None: ... - def set_providers(self, **providers: Provider): ... - def set_provider(self, name: str, provider: Provider) -> None: ... + def set_providers(self, **providers: Provider[Any]) -> None: ... + def set_provider(self, name: str, provider: Provider[Any]) -> None: ... def override(self, overriding: Union[Container, Type[Container]]) -> None: ... def override_providers( - self, **overriding_providers: Union[Provider, Any] + self, **overriding_providers: Union[Provider[Any], Any] ) -> ProvidersOverridingContext[C_Base]: ... def reset_last_overriding(self) -> None: ... def reset_override(self) -> None: ... @@ -69,8 +71,8 @@ class Container: from_package: Optional[str] = None, ) -> None: ... def unwire(self) -> None: ... - def init_resources(self) -> Optional[Awaitable]: ... - def shutdown_resources(self) -> Optional[Awaitable]: ... + def init_resources(self) -> Optional[Awaitable[None]]: ... + def shutdown_resources(self) -> Optional[Awaitable[None]]: ... def load_config(self) -> None: ... def apply_container_providers_overridings(self) -> None: ... def reset_singletons(self) -> SingletonResetContext[C_Base]: ... @@ -81,10 +83,10 @@ class Container: ) -> None: ... def from_json_schema(self, filepath: Union[Path, str]) -> None: ... @overload - def resolve_provider_name(self, provider: Provider) -> str: ... + def resolve_provider_name(self, provider: Provider[Any]) -> str: ... @classmethod @overload - def resolve_provider_name(cls, provider: Provider) -> str: ... + def resolve_provider_name(cls, provider: Provider[Any]) -> str: ... @property def parent(self) -> Optional[ProviderParent]: ... @property @@ -99,14 +101,14 @@ class Container: class DynamicContainer(Container): ... class DeclarativeContainer(Container): - cls_providers: ClassVar[Dict[str, Provider]] - inherited_providers: ClassVar[Dict[str, Provider]] - def __init__(self, **overriding_providers: Union[Provider, Any]) -> None: ... + cls_providers: ClassVar[Dict[str, Provider[Any]]] + inherited_providers: ClassVar[Dict[str, Provider[Any]]] + def __init__(self, **overriding_providers: Union[Provider[Any], Any]) -> None: ... @classmethod def override(cls, overriding: Union[Container, Type[Container]]) -> None: ... @classmethod def override_providers( - cls, **overriding_providers: Union[Provider, Any] + cls, **overriding_providers: Union[Provider[Any], Any] ) -> ProvidersOverridingContext[C_Base]: ... @classmethod def reset_last_overriding(cls) -> None: ... @@ -115,7 +117,7 @@ class DeclarativeContainer(Container): class ProvidersOverridingContext(Generic[T]): def __init__( - self, container: T, overridden_providers: Iterable[Union[Provider, Any]] + self, container: T, overridden_providers: Iterable[Union[Provider[Any], Any]] ) -> None: ... def __enter__(self) -> T: ... def __exit__(self, *_: Any) -> None: ...