1
1
from pathlib import Path
2
2
from typing import (
3
- Generic ,
4
- Type ,
5
- Dict ,
6
- List ,
7
- Tuple ,
8
- Optional ,
9
3
Any ,
10
- Union ,
11
- ClassVar ,
4
+ Awaitable ,
12
5
Callable as _Callable ,
6
+ ClassVar ,
7
+ Dict ,
8
+ Generic ,
13
9
Iterable ,
14
10
Iterator ,
11
+ List ,
12
+ Optional ,
13
+ Tuple ,
14
+ Type ,
15
15
TypeVar ,
16
- Awaitable ,
16
+ Union ,
17
17
overload ,
18
18
)
19
19
20
- from .providers import Provider , Self , ProviderParent
20
+ from typing_extensions import Self as _Self
21
+
22
+ from .providers import Provider , ProviderParent , Self
21
23
22
24
C_Base = TypeVar ("C_Base" , bound = "Container" )
23
25
C = TypeVar ("C" , bound = "DeclarativeContainer" )
@@ -41,23 +43,23 @@ class WiringConfiguration:
41
43
) -> None : ...
42
44
43
45
class 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 ] ]
46
48
dependencies : Dict [str , Provider [Any ]]
47
- overridden : Tuple [Provider ]
49
+ overridden : Tuple [Provider [ Any ], ... ]
48
50
wiring_config : WiringConfiguration
49
51
auto_load_config : bool = True
50
52
__self__ : Self
51
53
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 ] : ...
55
57
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 : ...
58
60
def override (self , overriding : Union [Container , Type [Container ]]) -> None : ...
59
61
def override_providers (
60
- self , ** overriding_providers : Union [Provider , Any ]
62
+ self , ** overriding_providers : Union [Provider [ Any ] , Any ]
61
63
) -> ProvidersOverridingContext [C_Base ]: ...
62
64
def reset_last_overriding (self ) -> None : ...
63
65
def reset_override (self ) -> None : ...
@@ -69,8 +71,8 @@ class Container:
69
71
from_package : Optional [str ] = None ,
70
72
) -> None : ...
71
73
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 ] ]: ...
74
76
def load_config (self ) -> None : ...
75
77
def apply_container_providers_overridings (self ) -> None : ...
76
78
def reset_singletons (self ) -> SingletonResetContext [C_Base ]: ...
@@ -81,10 +83,10 @@ class Container:
81
83
) -> None : ...
82
84
def from_json_schema (self , filepath : Union [Path , str ]) -> None : ...
83
85
@overload
84
- def resolve_provider_name (self , provider : Provider ) -> str : ...
86
+ def resolve_provider_name (self , provider : Provider [ Any ] ) -> str : ...
85
87
@classmethod
86
88
@overload
87
- def resolve_provider_name (cls , provider : Provider ) -> str : ...
89
+ def resolve_provider_name (cls , provider : Provider [ Any ] ) -> str : ...
88
90
@property
89
91
def parent (self ) -> Optional [ProviderParent ]: ...
90
92
@property
@@ -99,14 +101,14 @@ class Container:
99
101
class DynamicContainer (Container ): ...
100
102
101
103
class 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 : ...
105
107
@classmethod
106
108
def override (cls , overriding : Union [Container , Type [Container ]]) -> None : ...
107
109
@classmethod
108
110
def override_providers (
109
- cls , ** overriding_providers : Union [Provider , Any ]
111
+ cls , ** overriding_providers : Union [Provider [ Any ] , Any ]
110
112
) -> ProvidersOverridingContext [C_Base ]: ...
111
113
@classmethod
112
114
def reset_last_overriding (cls ) -> None : ...
@@ -115,7 +117,7 @@ class DeclarativeContainer(Container):
115
117
116
118
class ProvidersOverridingContext (Generic [T ]):
117
119
def __init__ (
118
- self , container : T , overridden_providers : Iterable [Union [Provider , Any ]]
120
+ self , container : T , overridden_providers : Iterable [Union [Provider [ Any ] , Any ]]
119
121
) -> None : ...
120
122
def __enter__ (self ) -> T : ...
121
123
def __exit__ (self , * _ : Any ) -> None : ...
0 commit comments