python-injection 0.10.9__py3-none-any.whl → 0.10.11__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- injection/_core/module.py +4 -3
- injection/integrations/fastapi.py +9 -3
- {python_injection-0.10.9.dist-info → python_injection-0.10.11.dist-info}/METADATA +1 -1
- {python_injection-0.10.9.dist-info → python_injection-0.10.11.dist-info}/RECORD +5 -5
- {python_injection-0.10.9.dist-info → python_injection-0.10.11.dist-info}/WHEEL +0 -0
injection/_core/module.py
CHANGED
@@ -514,9 +514,10 @@ class Module(Broker, EventListener):
|
|
514
514
|
mode: Mode | ModeStr = Mode.get_default(),
|
515
515
|
):
|
516
516
|
def decorator(wp): # type: ignore[no-untyped-def]
|
517
|
-
|
518
|
-
self.
|
519
|
-
|
517
|
+
lazy_instance = Lazy(wp)
|
518
|
+
self.injectable(
|
519
|
+
lambda: ~lazy_instance,
|
520
|
+
inject=False,
|
520
521
|
on=on,
|
521
522
|
mode=mode,
|
522
523
|
)
|
@@ -28,10 +28,11 @@ def Inject[T]( # noqa: N802
|
|
28
28
|
|
29
29
|
|
30
30
|
class InjectionDependency[T]:
|
31
|
-
__slots__ = ("__call__", "__class")
|
31
|
+
__slots__ = ("__call__", "__class", "__module")
|
32
32
|
|
33
33
|
__call__: Callable[[], T]
|
34
34
|
__class: type[T] | TypeAliasType | GenericAlias
|
35
|
+
__module: Module
|
35
36
|
|
36
37
|
__sentinel: ClassVar[object] = object()
|
37
38
|
|
@@ -39,15 +40,20 @@ class InjectionDependency[T]:
|
|
39
40
|
lazy_instance = module.get_lazy_instance(cls, default=self.__sentinel)
|
40
41
|
self.__call__ = lambda: self.__ensure(~lazy_instance)
|
41
42
|
self.__class = cls
|
43
|
+
self.__module = module
|
42
44
|
|
43
45
|
def __eq__(self, other: Any) -> bool:
|
44
46
|
if isinstance(other, type(self)):
|
45
|
-
return
|
47
|
+
return self.__key == other.__key
|
46
48
|
|
47
49
|
return NotImplemented
|
48
50
|
|
49
51
|
def __hash__(self) -> int:
|
50
|
-
return hash(
|
52
|
+
return hash(self.__key)
|
53
|
+
|
54
|
+
@property
|
55
|
+
def __key(self) -> tuple[type[T] | TypeAliasType | GenericAlias, Module]:
|
56
|
+
return self.__class, self.__module
|
51
57
|
|
52
58
|
def __ensure(self, instance: T | Any) -> T:
|
53
59
|
if instance is self.__sentinel:
|
@@ -8,15 +8,15 @@ injection/_core/common/lazy.py,sha256=kCO1q4S6AdBhsP5RrihBJpgfeR4hxvMqSz1cpCgBdj
|
|
8
8
|
injection/_core/common/threading.py,sha256=OXm7L3p8c7O7eSkU-RTR7cobqIGMhuo-7gpDXsWKDNQ,214
|
9
9
|
injection/_core/common/type.py,sha256=TQTD-f_rnAHS0VgfkWxNFU8HAWPvkAktNDQ9_23JLHM,1705
|
10
10
|
injection/_core/hook.py,sha256=_TcwhF_DONfcoBz58RxVLeA950Rs8wtZSLGepZwGBRk,3009
|
11
|
-
injection/_core/module.py,sha256=
|
11
|
+
injection/_core/module.py,sha256=JvawpGSt-TFLzUHOV79HtgUEDQ_lxv7H1xwwARaOwyw,25294
|
12
12
|
injection/exceptions.py,sha256=-5Shs7R5rctQXhpMLfcjiMBCzrtFWxC88qETUIHz57s,692
|
13
13
|
injection/integrations/__init__.py,sha256=NYLcstr4ESdLj326LlDub143z6JGM1z1pCOVWhBXK10,304
|
14
14
|
injection/integrations/blacksheep.py,sha256=yO5gLb_l4W3bNPFt-v2qWIL9R8PNon4JmOxQEHdi-5o,923
|
15
|
-
injection/integrations/fastapi.py,sha256=
|
15
|
+
injection/integrations/fastapi.py,sha256=GIxpSOumBQ8r8ihBVAzbp0nd68x8YWh6zSfL7d6QLWs,1786
|
16
16
|
injection/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
17
17
|
injection/testing/__init__.py,sha256=-C38gmZJwDtLDAWJhqiaosOZWQZwwFa1M34tODcrASs,747
|
18
18
|
injection/testing/__init__.pyi,sha256=6ZXbbS-9ppMdkxd03I6yBNurmR3Xw7sM_qiokibkLeY,386
|
19
19
|
injection/utils.py,sha256=gPcxGIdrGz4irbJXGTYPw33jNy8jg56u_c61eb1MBSE,1971
|
20
|
-
python_injection-0.10.
|
21
|
-
python_injection-0.10.
|
22
|
-
python_injection-0.10.
|
20
|
+
python_injection-0.10.11.dist-info/METADATA,sha256=eI7fVqQkkS20p6JS596mL6GyYd8EJdjaCgmEmxO5lWE,3111
|
21
|
+
python_injection-0.10.11.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
22
|
+
python_injection-0.10.11.dist-info/RECORD,,
|
File without changes
|