anydi 0.26.4__tar.gz → 0.26.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 (27) hide show
  1. {anydi-0.26.4 → anydi-0.26.6}/PKG-INFO +1 -2
  2. {anydi-0.26.4 → anydi-0.26.6}/anydi/_utils.py +8 -9
  3. {anydi-0.26.4 → anydi-0.26.6}/anydi/ext/pytest_plugin.py +0 -8
  4. {anydi-0.26.4 → anydi-0.26.6}/pyproject.toml +1 -2
  5. {anydi-0.26.4 → anydi-0.26.6}/LICENSE +0 -0
  6. {anydi-0.26.4 → anydi-0.26.6}/README.md +0 -0
  7. {anydi-0.26.4 → anydi-0.26.6}/anydi/__init__.py +0 -0
  8. {anydi-0.26.4 → anydi-0.26.6}/anydi/_container.py +0 -0
  9. {anydi-0.26.4 → anydi-0.26.6}/anydi/_context.py +0 -0
  10. {anydi-0.26.4 → anydi-0.26.6}/anydi/_logger.py +0 -0
  11. {anydi-0.26.4 → anydi-0.26.6}/anydi/_module.py +0 -0
  12. {anydi-0.26.4 → anydi-0.26.6}/anydi/_scanner.py +0 -0
  13. {anydi-0.26.4 → anydi-0.26.6}/anydi/_types.py +0 -0
  14. {anydi-0.26.4 → anydi-0.26.6}/anydi/ext/__init__.py +0 -0
  15. {anydi-0.26.4 → anydi-0.26.6}/anydi/ext/django/__init__.py +0 -0
  16. {anydi-0.26.4 → anydi-0.26.6}/anydi/ext/django/_container.py +0 -0
  17. {anydi-0.26.4 → anydi-0.26.6}/anydi/ext/django/_settings.py +0 -0
  18. {anydi-0.26.4 → anydi-0.26.6}/anydi/ext/django/_utils.py +0 -0
  19. {anydi-0.26.4 → anydi-0.26.6}/anydi/ext/django/apps.py +0 -0
  20. {anydi-0.26.4 → anydi-0.26.6}/anydi/ext/django/middleware.py +0 -0
  21. {anydi-0.26.4 → anydi-0.26.6}/anydi/ext/django/ninja/__init__.py +0 -0
  22. {anydi-0.26.4 → anydi-0.26.6}/anydi/ext/django/ninja/_operation.py +0 -0
  23. {anydi-0.26.4 → anydi-0.26.6}/anydi/ext/django/ninja/_signature.py +0 -0
  24. {anydi-0.26.4 → anydi-0.26.6}/anydi/ext/fastapi.py +0 -0
  25. {anydi-0.26.4 → anydi-0.26.6}/anydi/ext/starlette/__init__.py +0 -0
  26. {anydi-0.26.4 → anydi-0.26.6}/anydi/ext/starlette/middleware.py +0 -0
  27. {anydi-0.26.4 → anydi-0.26.6}/anydi/py.typed +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: anydi
3
- Version: 0.26.4
3
+ Version: 0.26.6
4
4
  Summary: Dependency Injection library
5
5
  Home-page: https://github.com/antonrh/anydi
6
6
  License: MIT
@@ -22,7 +22,6 @@ Classifier: Programming Language :: Python :: 3.10
22
22
  Classifier: Programming Language :: Python :: 3.11
23
23
  Classifier: Programming Language :: Python :: 3.12
24
24
  Classifier: Programming Language :: Python :: 3 :: Only
25
- Classifier: Programming Language :: Python :: 3.7
26
25
  Classifier: Topic :: Internet
27
26
  Classifier: Topic :: Software Development
28
27
  Classifier: Topic :: Software Development :: Libraries
@@ -6,7 +6,7 @@ import builtins
6
6
  import functools
7
7
  import inspect
8
8
  import sys
9
- from typing import Any, AsyncIterator, Callable, ForwardRef, Iterator, TypeVar, cast
9
+ from typing import Any, AsyncIterator, Callable, ForwardRef, Iterator, TypeVar
10
10
 
11
11
  from typing_extensions import ParamSpec, get_args, get_origin
12
12
 
@@ -16,15 +16,14 @@ except ImportError:
16
16
  anyio = None # type: ignore[assignment]
17
17
 
18
18
 
19
- if sys.version_info < (3, 9): # pragma: nocover
20
-
21
- def evaluate_forwardref(type_: ForwardRef, globalns: Any, localns: Any) -> Any:
19
+ def evaluate_forwardref(type_: ForwardRef, globalns: Any, localns: Any) -> Any:
20
+ if sys.version_info < (3, 9):
22
21
  return type_._evaluate(globalns, localns) # noqa
23
-
24
- else:
25
-
26
- def evaluate_forwardref(type_: ForwardRef, globalns: Any, localns: Any) -> Any:
27
- return cast(Any, type_)._evaluate(globalns, localns, set()) # noqa
22
+ elif sys.version_info >= (3, 12):
23
+ return type_._evaluate( # noqa
24
+ globalns, localns, frozenset(), recursive_guard=frozenset()
25
+ )
26
+ return type_._evaluate(globalns, localns, frozenset()) # noqa
28
27
 
29
28
 
30
29
  T = TypeVar("T")
@@ -99,10 +99,6 @@ def _anydi_inject(
99
99
  if container.strict and not container.is_registered(interface):
100
100
  continue
101
101
 
102
- # Release the instance if it was already resolved
103
- if container.is_resolved(interface):
104
- container.release(interface)
105
-
106
102
  try:
107
103
  request.node.funcargs[argname] = container.resolve(interface)
108
104
  except Exception: # noqa
@@ -128,10 +124,6 @@ async def _anydi_ainject(
128
124
  if container.strict and not container.is_registered(interface):
129
125
  continue
130
126
 
131
- # Release the instance if it was already resolved
132
- if container.is_resolved(interface):
133
- container.release(interface)
134
-
135
127
  try:
136
128
  request.node.funcargs[argname] = await container.aresolve(interface)
137
129
  except Exception: # noqa
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "anydi"
3
- version = "0.26.4"
3
+ version = "0.26.6"
4
4
  description = "Dependency Injection library"
5
5
  authors = ["Anton Ruhlov <antonruhlov@gmail.com>"]
6
6
  license = "MIT"
@@ -22,7 +22,6 @@ classifiers = [
22
22
  "Intended Audience :: Developers",
23
23
  "License :: OSI Approved :: MIT License",
24
24
  "Programming Language :: Python :: 3",
25
- "Programming Language :: Python :: 3.7",
26
25
  "Programming Language :: Python :: 3.8",
27
26
  "Programming Language :: Python :: 3.9",
28
27
  "Programming Language :: Python :: 3.10",
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