python-injection 0.19.5.post1__tar.gz → 0.19.6__tar.gz

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.
Files changed (31) hide show
  1. {python_injection-0.19.5.post1 → python_injection-0.19.6}/PKG-INFO +1 -1
  2. {python_injection-0.19.5.post1 → python_injection-0.19.6}/injection/__init__.pyi +1 -1
  3. {python_injection-0.19.5.post1 → python_injection-0.19.6}/injection/_core/module.py +9 -4
  4. {python_injection-0.19.5.post1 → python_injection-0.19.6}/pyproject.toml +1 -1
  5. {python_injection-0.19.5.post1 → python_injection-0.19.6}/.gitignore +0 -0
  6. {python_injection-0.19.5.post1 → python_injection-0.19.6}/LICENSE +0 -0
  7. {python_injection-0.19.5.post1 → python_injection-0.19.6}/README.md +0 -0
  8. {python_injection-0.19.5.post1 → python_injection-0.19.6}/injection/__init__.py +0 -0
  9. {python_injection-0.19.5.post1 → python_injection-0.19.6}/injection/_core/__init__.py +0 -0
  10. {python_injection-0.19.5.post1 → python_injection-0.19.6}/injection/_core/asfunction.py +0 -0
  11. {python_injection-0.19.5.post1 → python_injection-0.19.6}/injection/_core/common/__init__.py +0 -0
  12. {python_injection-0.19.5.post1 → python_injection-0.19.6}/injection/_core/common/asynchronous.py +0 -0
  13. {python_injection-0.19.5.post1 → python_injection-0.19.6}/injection/_core/common/event.py +0 -0
  14. {python_injection-0.19.5.post1 → python_injection-0.19.6}/injection/_core/common/invertible.py +0 -0
  15. {python_injection-0.19.5.post1 → python_injection-0.19.6}/injection/_core/common/key.py +0 -0
  16. {python_injection-0.19.5.post1 → python_injection-0.19.6}/injection/_core/common/lazy.py +0 -0
  17. {python_injection-0.19.5.post1 → python_injection-0.19.6}/injection/_core/common/threading.py +0 -0
  18. {python_injection-0.19.5.post1 → python_injection-0.19.6}/injection/_core/common/type.py +0 -0
  19. {python_injection-0.19.5.post1 → python_injection-0.19.6}/injection/_core/descriptors.py +0 -0
  20. {python_injection-0.19.5.post1 → python_injection-0.19.6}/injection/_core/injectables.py +0 -0
  21. {python_injection-0.19.5.post1 → python_injection-0.19.6}/injection/_core/scope.py +0 -0
  22. {python_injection-0.19.5.post1 → python_injection-0.19.6}/injection/_core/slots.py +0 -0
  23. {python_injection-0.19.5.post1 → python_injection-0.19.6}/injection/entrypoint.py +0 -0
  24. {python_injection-0.19.5.post1 → python_injection-0.19.6}/injection/exceptions.py +0 -0
  25. {python_injection-0.19.5.post1 → python_injection-0.19.6}/injection/ext/__init__.py +0 -0
  26. {python_injection-0.19.5.post1 → python_injection-0.19.6}/injection/ext/fastapi.py +0 -0
  27. {python_injection-0.19.5.post1 → python_injection-0.19.6}/injection/ext/fastapi.pyi +0 -0
  28. {python_injection-0.19.5.post1 → python_injection-0.19.6}/injection/loaders.py +0 -0
  29. {python_injection-0.19.5.post1 → python_injection-0.19.6}/injection/py.typed +0 -0
  30. {python_injection-0.19.5.post1 → python_injection-0.19.6}/injection/testing/__init__.py +0 -0
  31. {python_injection-0.19.5.post1 → python_injection-0.19.6}/injection/testing/__init__.pyi +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-injection
3
- Version: 0.19.5.post1
3
+ Version: 0.19.6
4
4
  Summary: Fast and easy dependency injection framework.
5
5
  Project-URL: Repository, https://github.com/100nm/python-injection
6
6
  Author: remimd
@@ -374,7 +374,7 @@ class Module:
374
374
  *,
375
375
  alias: bool = ...,
376
376
  mode: Mode | ModeStr = ...,
377
- ) -> Self:
377
+ ) -> T:
378
378
  """
379
379
  Function for registering a specific instance to be injected. This is useful for
380
380
  registering global variables. The difference with the singleton decorator is
@@ -532,16 +532,21 @@ class Module(Broker, EventListener):
532
532
  *,
533
533
  alias: bool = False,
534
534
  mode: Mode | ModeStr = Mode.get_default(),
535
- ) -> Self:
536
- hints = on if alias else (type(instance), on)
535
+ ) -> T:
536
+ if not alias:
537
+ on = (type(instance), on)
538
+
539
+ elif not on:
540
+ raise ValueError("`on` must be provided when `alias` is `True`.")
541
+
537
542
  self.injectable(
538
543
  lambda: instance,
539
544
  ignore_type_hint=True,
540
545
  inject=False,
541
- on=hints,
546
+ on=on,
542
547
  mode=mode,
543
548
  )
544
- return self
549
+ return instance
545
550
 
546
551
  def reserve_scoped_slot[T](
547
552
  self,
@@ -30,7 +30,7 @@ test = [
30
30
 
31
31
  [project]
32
32
  name = "python-injection"
33
- version = "0.19.5.post1"
33
+ version = "0.19.6"
34
34
  description = "Fast and easy dependency injection framework."
35
35
  license = "MIT"
36
36
  license-files = ["LICENSE"]