python-dependency-injector
python-dependency-injector copied to clipboard
Preserve args/kwargs on abstract override?
trafficstars
Is there a pattern for propagating the args/kwargs defined in an AbstractSingleton forward during override?
from dependency_injector import containers, providers
from lume_services.services.data.models.db import ModelDB, ModelDBConfig
from lume_services.services.data.models.db.mysql import MySQLModelDBConfig, MySQLModelDB
class Context(containers.DeclarativeContainer):
config = providers.Configuration()
model_db_config = providers.Singleton(
ModelDBConfig,
config.model_db
)
model_db = providers.AbstractSingleton(
ModelDB,
db_config = model_db_config
)
if __name__ == "__main__":
container =Context()
my_settings ={"model_db" : {"db_uri": "test", "pool_size": 1}}
config = container.config.from_dict(my_settings)
container.model_db.override(
providers.Singleton(
MySQLModelDB,
),
)