-
- Notifications
You must be signed in to change notification settings - Fork 338
Closed
Labels
Description
My proposal is to add the __enter__
and __exit__
methods to the providers.Configuration
class to reduce code duplication and improve the visualization of configuration blocks.
Example of such case:
from dependency_injector import providers from environs import Env env = Env() config = providers.Configuration() config.some_plugin_name.some_interval_ms.override( env.int( "SOME_INTERVAL_MS", default=30000 ) ) config.some_plugin_name.kafka.bootstrap_servers.override( env.list( "KAFKA_BOOTSTRAP_SERVERS" ) ) config.some_plugin_name.kafka.security_protocol.override( env.str( "KAFKA_SECURITY_PROTOCOL", default="SASL_SSL" ) ) # ...
from dependency_injector import providers from environs import Env env = Env() config = providers.Configuration() with config.some_plugin_name as plugin: plugin.some_interval_ms.override( env.int( "SOME_INTERVAL_MS", default=30000 ) ) with plugin.kafka as kafka: kafka.bootstrap_servers.override( env.list( "KAFKA_BOOTSTRAP_SERVERS" ) ) kafka.security_protocol.override( env.str( "KAFKA_SECURITY_PROTOCOL", default="SASL_SSL" ) ) # ...