Usage with multiple containers¶
You can use providers from other containers as following:
from tests import container
from that_depends import BaseContainer, providers
class InnerContainer(BaseContainer):
sync_resource = providers.Resource(container.create_sync_resource)
async_resource = providers.Resource(container.create_async_resource)
class OuterContainer(BaseContainer):
sequence = providers.List(InnerContainer.sync_resource, InnerContainer.async_resource)
But this way you have to manage InnerContainer lifecycle:
Or you can connect sub-containers to the main container: