11from pathlib import Path
22from typing import (
3- Generic ,
4- Type ,
5- Dict ,
6- List ,
7- Tuple ,
8- Optional ,
93 Any ,
10- Union ,
11- ClassVar ,
4+ Awaitable ,
125 Callable as _Callable ,
6+ ClassVar ,
7+ Dict ,
8+ Generic ,
139 Iterable ,
1410 Iterator ,
11+ List ,
12+ Optional ,
13+ Tuple ,
14+ Type ,
1515 TypeVar ,
16- Awaitable ,
16+ Union ,
1717 overload ,
1818)
1919
20- from .providers import Provider , Self , ProviderParent
20+ from typing_extensions import Self as _Self
21+
22+ from .providers import Provider , ProviderParent , Self
2123
2224C_Base = TypeVar ("C_Base" , bound = "Container" )
2325C = TypeVar ("C" , bound = "DeclarativeContainer" )
@@ -41,23 +43,23 @@ class WiringConfiguration:
4143 ) -> None : ...
4244
4345class Container :
44- provider_type : Type [Provider ] = Provider
45- providers : Dict [str , Provider ]
46+ provider_type : Type [Provider [ Any ] ] = Provider
47+ providers : Dict [str , Provider [ Any ] ]
4648 dependencies : Dict [str , Provider [Any ]]
47- overridden : Tuple [Provider ]
49+ overridden : Tuple [Provider [ Any ], ... ]
4850 wiring_config : WiringConfiguration
4951 auto_load_config : bool = True
5052 __self__ : Self
5153 def __init__ (self ) -> None : ...
52- def __deepcopy__ (self , memo : Optional [Dict [str , Any ]]) -> Provider : ...
53- def __setattr__ (self , name : str , value : Union [Provider , Any ]) -> None : ...
54- def __getattr__ (self , name : str ) -> Provider : ...
54+ def __deepcopy__ (self , memo : Optional [Dict [str , Any ]]) -> _Self : ...
55+ def __setattr__ (self , name : str , value : Union [Provider [ Any ] , Any ]) -> None : ...
56+ def __getattr__ (self , name : str ) -> Provider [ Any ] : ...
5557 def __delattr__ (self , name : str ) -> None : ...
56- def set_providers (self , ** providers : Provider ) : ...
57- def set_provider (self , name : str , provider : Provider ) -> None : ...
58+ def set_providers (self , ** providers : Provider [ Any ]) -> None : ...
59+ def set_provider (self , name : str , provider : Provider [ Any ] ) -> None : ...
5860 def override (self , overriding : Union [Container , Type [Container ]]) -> None : ...
5961 def override_providers (
60- self , ** overriding_providers : Union [Provider , Any ]
62+ self , ** overriding_providers : Union [Provider [ Any ] , Any ]
6163 ) -> ProvidersOverridingContext [C_Base ]: ...
6264 def reset_last_overriding (self ) -> None : ...
6365 def reset_override (self ) -> None : ...
@@ -69,8 +71,8 @@ class Container:
6971 from_package : Optional [str ] = None ,
7072 ) -> None : ...
7173 def unwire (self ) -> None : ...
72- def init_resources (self ) -> Optional [Awaitable ]: ...
73- def shutdown_resources (self ) -> Optional [Awaitable ]: ...
74+ def init_resources (self ) -> Optional [Awaitable [ None ] ]: ...
75+ def shutdown_resources (self ) -> Optional [Awaitable [ None ] ]: ...
7476 def load_config (self ) -> None : ...
7577 def apply_container_providers_overridings (self ) -> None : ...
7678 def reset_singletons (self ) -> SingletonResetContext [C_Base ]: ...
@@ -81,10 +83,10 @@ class Container:
8183 ) -> None : ...
8284 def from_json_schema (self , filepath : Union [Path , str ]) -> None : ...
8385 @overload
84- def resolve_provider_name (self , provider : Provider ) -> str : ...
86+ def resolve_provider_name (self , provider : Provider [ Any ] ) -> str : ...
8587 @classmethod
8688 @overload
87- def resolve_provider_name (cls , provider : Provider ) -> str : ...
89+ def resolve_provider_name (cls , provider : Provider [ Any ] ) -> str : ...
8890 @property
8991 def parent (self ) -> Optional [ProviderParent ]: ...
9092 @property
@@ -99,14 +101,14 @@ class Container:
99101class DynamicContainer (Container ): ...
100102
101103class DeclarativeContainer (Container ):
102- cls_providers : ClassVar [Dict [str , Provider ]]
103- inherited_providers : ClassVar [Dict [str , Provider ]]
104- def __init__ (self , ** overriding_providers : Union [Provider , Any ]) -> None : ...
104+ cls_providers : ClassVar [Dict [str , Provider [ Any ] ]]
105+ inherited_providers : ClassVar [Dict [str , Provider [ Any ] ]]
106+ def __init__ (self , ** overriding_providers : Union [Provider [ Any ] , Any ]) -> None : ...
105107 @classmethod
106108 def override (cls , overriding : Union [Container , Type [Container ]]) -> None : ...
107109 @classmethod
108110 def override_providers (
109- cls , ** overriding_providers : Union [Provider , Any ]
111+ cls , ** overriding_providers : Union [Provider [ Any ] , Any ]
110112 ) -> ProvidersOverridingContext [C_Base ]: ...
111113 @classmethod
112114 def reset_last_overriding (cls ) -> None : ...
@@ -115,7 +117,7 @@ class DeclarativeContainer(Container):
115117
116118class ProvidersOverridingContext (Generic [T ]):
117119 def __init__ (
118- self , container : T , overridden_providers : Iterable [Union [Provider , Any ]]
120+ self , container : T , overridden_providers : Iterable [Union [Provider [ Any ] , Any ]]
119121 ) -> None : ...
120122 def __enter__ (self ) -> T : ...
121123 def __exit__ (self , * _ : Any ) -> None : ...
0 commit comments