python-dependency-injector
python-dependency-injector copied to clipboard
providers.Resource is missing overload for AbstractContextManager and AbstractAsyncContextManager
# main.py
from collections.abc import Iterator
from contextlib import contextmanager
from typing import reveal_type
from dependency_injector import containers, providers
@contextmanager
def _get_my_int() -> Iterator[int]:
print("Enter context")
yield 1
class Container(containers.DeclarativeContainer):
get_my_int = providers.Resource(_get_my_int)
container = Container()
my_int = container.get_my_int()
reveal_type(my_int)
Running python main.py:
Enter context
Runtime type is 'int'
Running mypy main.py
main.py:20: note: Revealed type is "contextlib._GeneratorContextManager[builtins.int, None, None]"
Success: no issues found in 1 source file