-
Notifications
You must be signed in to change notification settings - Fork 96
Closed
Description
There is compatibility problem which raises the following exception:
File "venv/lib/python3.13/site-packages/injector/__init__.py", line 1768, in build
return self._build_class(self._target, **kwargs)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
File "venv/lib/python3.13/site-packages/injector/__init__.py", line 1763, in _build_class
return self._injector.create_object(cls, additional_kwargs=kwargs)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "venv/lib/python3.13/site-packages/injector/__init__.py", line 1177, in create_object
self.call_with_injection(init, self_=instance, kwargs=additional_kwargs)
~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "venv/lib/python3.13/site-packages/injector/__init__.py", line 1216, in call_with_injection
bindings = get_bindings(callable)
File "venv/lib/python3.13/site-packages/injector/__init__.py", line 1358, in get_bindings
has_injectable_parameters = any(
_is_specialization(v, Annotated) and _inject_marker in v.__metadata__
for v in type_hints.values()
)
File "venv/lib/python3.13/site-packages/injector/__init__.py", line 1359, in <genexpr>
_is_specialization(v, Annotated) and _inject_marker in v.__metadata__
^^^^^^^^^^^^^^
File "/opt/homebrew/Cellar/python@3.13/3.13.11/Frameworks/Python.framework/Versions/3.13/lib/python3.13/typing.py", line 1378, in __getattr__
raise AttributeError(attr)
AttributeError: __metadata__. Did you mean: '__getattr__'?
which might be fixed by replacing:
has_injectable_parameters = any(
_is_specialization(v, Annotated) and _inject_marker in v.__metadata__
for v in type_hints.values()
)
in __init__.py file with:
has_injectable_parameters = any(
_is_specialization(v, Annotated) and _inject_marker in getattr(v, "__metadata__", ())
for v in type_hints.values()
)
Metadata
Metadata
Assignees
Labels
No labels