Add example for Annotated attribute injection for module/class attributes

This commit is contained in:
Roman Mogylatov 2025-05-21 12:00:48 -04:00
parent 8bf9ed04c8
commit 19600d9d08

View File

@ -0,0 +1,29 @@
"""Wiring attribute example with Annotated."""
from typing import Annotated
from dependency_injector import containers, providers
from dependency_injector.wiring import Provide
class Service:
...
class Container(containers.DeclarativeContainer):
service = providers.Factory(Service)
service: Annotated[Service, Provide[Container.service]]
class Main:
service: Annotated[Service, Provide[Container.service]]
if __name__ == "__main__":
container = Container()
container.wire(modules=[__name__])
assert isinstance(service, Service)
assert isinstance(Main.service, Service)