# 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