anydi 0.39.1__tar.gz → 0.39.3__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 (87) hide show
  1. {anydi-0.39.1 → anydi-0.39.3}/PKG-INFO +1 -1
  2. {anydi-0.39.1 → anydi-0.39.3}/anydi/_container.py +5 -3
  3. {anydi-0.39.1 → anydi-0.39.3}/pyproject.toml +2 -2
  4. {anydi-0.39.1 → anydi-0.39.3}/uv.lock +1 -1
  5. {anydi-0.39.1 → anydi-0.39.3}/.editorconfig +0 -0
  6. {anydi-0.39.1 → anydi-0.39.3}/.github/workflows/ci.yml +0 -0
  7. {anydi-0.39.1 → anydi-0.39.3}/.gitignore +0 -0
  8. {anydi-0.39.1 → anydi-0.39.3}/.readthedocs.yaml +0 -0
  9. {anydi-0.39.1 → anydi-0.39.3}/LICENSE +0 -0
  10. {anydi-0.39.1 → anydi-0.39.3}/Makefile +0 -0
  11. {anydi-0.39.1 → anydi-0.39.3}/README.md +0 -0
  12. {anydi-0.39.1 → anydi-0.39.3}/anydi/__init__.py +0 -0
  13. {anydi-0.39.1 → anydi-0.39.3}/anydi/_context.py +0 -0
  14. {anydi-0.39.1 → anydi-0.39.3}/anydi/_types.py +0 -0
  15. {anydi-0.39.1 → anydi-0.39.3}/anydi/_utils.py +0 -0
  16. {anydi-0.39.1 → anydi-0.39.3}/anydi/ext/__init__.py +0 -0
  17. {anydi-0.39.1 → anydi-0.39.3}/anydi/ext/_utils.py +0 -0
  18. {anydi-0.39.1 → anydi-0.39.3}/anydi/ext/django/__init__.py +0 -0
  19. {anydi-0.39.1 → anydi-0.39.3}/anydi/ext/django/_container.py +0 -0
  20. {anydi-0.39.1 → anydi-0.39.3}/anydi/ext/django/_settings.py +0 -0
  21. {anydi-0.39.1 → anydi-0.39.3}/anydi/ext/django/_utils.py +0 -0
  22. {anydi-0.39.1 → anydi-0.39.3}/anydi/ext/django/apps.py +0 -0
  23. {anydi-0.39.1 → anydi-0.39.3}/anydi/ext/django/middleware.py +0 -0
  24. {anydi-0.39.1 → anydi-0.39.3}/anydi/ext/django/ninja/__init__.py +0 -0
  25. {anydi-0.39.1 → anydi-0.39.3}/anydi/ext/django/ninja/_operation.py +0 -0
  26. {anydi-0.39.1 → anydi-0.39.3}/anydi/ext/django/ninja/_signature.py +0 -0
  27. {anydi-0.39.1 → anydi-0.39.3}/anydi/ext/fastapi.py +0 -0
  28. {anydi-0.39.1 → anydi-0.39.3}/anydi/ext/faststream.py +0 -0
  29. {anydi-0.39.1 → anydi-0.39.3}/anydi/ext/pydantic_settings.py +0 -0
  30. {anydi-0.39.1 → anydi-0.39.3}/anydi/ext/pytest_plugin.py +0 -0
  31. {anydi-0.39.1 → anydi-0.39.3}/anydi/ext/starlette/__init__.py +0 -0
  32. {anydi-0.39.1 → anydi-0.39.3}/anydi/ext/starlette/middleware.py +0 -0
  33. {anydi-0.39.1 → anydi-0.39.3}/anydi/py.typed +0 -0
  34. {anydi-0.39.1 → anydi-0.39.3}/docs/examples/basic.md +0 -0
  35. {anydi-0.39.1 → anydi-0.39.3}/docs/extensions/django.md +0 -0
  36. {anydi-0.39.1 → anydi-0.39.3}/docs/extensions/fastapi.md +0 -0
  37. {anydi-0.39.1 → anydi-0.39.3}/docs/extensions/faststream.md +0 -0
  38. {anydi-0.39.1 → anydi-0.39.3}/docs/extensions/pydantic_settings.md +0 -0
  39. {anydi-0.39.1 → anydi-0.39.3}/docs/index.md +0 -0
  40. {anydi-0.39.1 → anydi-0.39.3}/docs/usage.md +0 -0
  41. {anydi-0.39.1 → anydi-0.39.3}/mkdocs.yml +0 -0
  42. {anydi-0.39.1 → anydi-0.39.3}/tests/__init__.py +0 -0
  43. {anydi-0.39.1 → anydi-0.39.3}/tests/conftest.py +0 -0
  44. {anydi-0.39.1 → anydi-0.39.3}/tests/ext/__init__.py +0 -0
  45. {anydi-0.39.1 → anydi-0.39.3}/tests/ext/django/__init__.py +0 -0
  46. {anydi-0.39.1 → anydi-0.39.3}/tests/ext/django/api/__init__.py +0 -0
  47. {anydi-0.39.1 → anydi-0.39.3}/tests/ext/django/api/router.py +0 -0
  48. {anydi-0.39.1 → anydi-0.39.3}/tests/ext/django/api/test_router.py +0 -0
  49. {anydi-0.39.1 → anydi-0.39.3}/tests/ext/django/api/urls.py +0 -0
  50. {anydi-0.39.1 → anydi-0.39.3}/tests/ext/django/conftest.py +0 -0
  51. {anydi-0.39.1 → anydi-0.39.3}/tests/ext/django/container.py +0 -0
  52. {anydi-0.39.1 → anydi-0.39.3}/tests/ext/django/scan/__init__.py +0 -0
  53. {anydi-0.39.1 → anydi-0.39.3}/tests/ext/django/services.py +0 -0
  54. {anydi-0.39.1 → anydi-0.39.3}/tests/ext/django/settings.py +0 -0
  55. {anydi-0.39.1 → anydi-0.39.3}/tests/ext/django/test_views.py +0 -0
  56. {anydi-0.39.1 → anydi-0.39.3}/tests/ext/django/urls.py +0 -0
  57. {anydi-0.39.1 → anydi-0.39.3}/tests/ext/django/views.py +0 -0
  58. {anydi-0.39.1 → anydi-0.39.3}/tests/ext/fastapi/__init__.py +0 -0
  59. {anydi-0.39.1 → anydi-0.39.3}/tests/ext/fastapi/app.py +0 -0
  60. {anydi-0.39.1 → anydi-0.39.3}/tests/ext/fastapi/conftest.py +0 -0
  61. {anydi-0.39.1 → anydi-0.39.3}/tests/ext/fastapi/test_auto_register.py +0 -0
  62. {anydi-0.39.1 → anydi-0.39.3}/tests/ext/fastapi/test_ext.py +0 -0
  63. {anydi-0.39.1 → anydi-0.39.3}/tests/ext/fastapi/test_routes.py +0 -0
  64. {anydi-0.39.1 → anydi-0.39.3}/tests/ext/faststream/__init__.py +0 -0
  65. {anydi-0.39.1 → anydi-0.39.3}/tests/ext/faststream/test_ext.py +0 -0
  66. {anydi-0.39.1 → anydi-0.39.3}/tests/ext/faststream/test_subscribers.py +0 -0
  67. {anydi-0.39.1 → anydi-0.39.3}/tests/ext/fixtures.py +0 -0
  68. {anydi-0.39.1 → anydi-0.39.3}/tests/ext/starlette/__init__.py +0 -0
  69. {anydi-0.39.1 → anydi-0.39.3}/tests/ext/starlette/app.py +0 -0
  70. {anydi-0.39.1 → anydi-0.39.3}/tests/ext/starlette/conftest.py +0 -0
  71. {anydi-0.39.1 → anydi-0.39.3}/tests/ext/starlette/test_routes.py +0 -0
  72. {anydi-0.39.1 → anydi-0.39.3}/tests/ext/test_pydantic.py +0 -0
  73. {anydi-0.39.1 → anydi-0.39.3}/tests/ext/test_pytest_plugin.py +0 -0
  74. {anydi-0.39.1 → anydi-0.39.3}/tests/fixtures.py +0 -0
  75. {anydi-0.39.1 → anydi-0.39.3}/tests/scan_app/__init__.py +0 -0
  76. {anydi-0.39.1 → anydi-0.39.3}/tests/scan_app/a/__init__.py +0 -0
  77. {anydi-0.39.1 → anydi-0.39.3}/tests/scan_app/a/a1/__init__.py +0 -0
  78. {anydi-0.39.1 → anydi-0.39.3}/tests/scan_app/a/a1/handlers.py +0 -0
  79. {anydi-0.39.1 → anydi-0.39.3}/tests/scan_app/a/a2/__init__.py +0 -0
  80. {anydi-0.39.1 → anydi-0.39.3}/tests/scan_app/a/a2/a21/__init__.py +0 -0
  81. {anydi-0.39.1 → anydi-0.39.3}/tests/scan_app/a/a2/a21/handlers.py +0 -0
  82. {anydi-0.39.1 → anydi-0.39.3}/tests/scan_app/a/a3/__init__.py +0 -0
  83. {anydi-0.39.1 → anydi-0.39.3}/tests/scan_app/a/a3/handlers.py +0 -0
  84. {anydi-0.39.1 → anydi-0.39.3}/tests/scan_app/b/__init__.py +0 -0
  85. {anydi-0.39.1 → anydi-0.39.3}/tests/scan_app/b/handlers.py +0 -0
  86. {anydi-0.39.1 → anydi-0.39.3}/tests/test_container.py +0 -0
  87. {anydi-0.39.1 → anydi-0.39.3}/tests/test_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: anydi
3
- Version: 0.39.1
3
+ Version: 0.39.3
4
4
  Summary: Dependency Injection library
5
5
  Project-URL: Repository, https://github.com/antonrh/anydi
6
6
  Author-email: Anton Ruhlov <antonruhlov@gmail.com>
@@ -828,8 +828,10 @@ class Container:
828
828
  "not registered."
829
829
  )
830
830
  self._override_instances[interface] = instance
831
- yield
832
- del self._override_instances[interface]
831
+ try:
832
+ yield
833
+ finally:
834
+ self._override_instances.pop(interface, None)
833
835
 
834
836
  ############################
835
837
  # Testing Methods
@@ -865,7 +867,7 @@ class Container:
865
867
 
866
868
  def __getattribute__(_self: Any, name: str) -> Any:
867
869
  # Skip the resolver getter
868
- if name in {"__resolver_getter__"}:
870
+ if name in {"__resolver_getter__", "__class__"}:
869
871
  return object.__getattribute__(_self, name)
870
872
 
871
873
  if hasattr(_self, "__resolver_getter__"):
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "anydi"
3
- version = "0.39.1"
3
+ version = "0.39.3"
4
4
  description = "Dependency Injection library"
5
5
  authors = [{ name = "Anton Ruhlov", email = "antonruhlov@gmail.com" }]
6
6
  requires-python = "~=3.9"
@@ -136,7 +136,7 @@ omit = [
136
136
  ]
137
137
 
138
138
  [tool.bumpversion]
139
- current_version = "0.39.1"
139
+ current_version = "0.39.3"
140
140
  parse = """(?x)
141
141
  (?P<major>0|[1-9]\\d*)\\.
142
142
  (?P<minor>0|[1-9]\\d*)\\.
@@ -12,7 +12,7 @@ wheels = [
12
12
 
13
13
  [[package]]
14
14
  name = "anydi"
15
- version = "0.39.1"
15
+ version = "0.39.3"
16
16
  source = { editable = "." }
17
17
  dependencies = [
18
18
  { name = "anyio" },
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes