"""Containers module.""" from dependency_injector import containers, providers from . import adapters, usecases class Adapters(containers.DeclarativeContainer): email_sender = providers.Singleton(adapters.SmtpEmailSender) class TestAdapters(containers.DeclarativeContainer): email_sender = providers.Singleton(adapters.EchoEmailSender) class UseCases(containers.DeclarativeContainer): adapters = providers.DependenciesContainer() signup = providers.Factory( usecases.SignupUseCase, email_sender=adapters.email_sender, )