"""`Configuration` provider values loading example.""" import os from dependency_injector import containers, providers class Container(containers.DeclarativeContainer): config = providers.Configuration() if __name__ == "__main__": container = Container() # Emulate environment variables os.environ["AWS_ACCESS_KEY_ID"] = "KEY" os.environ["AWS_SECRET_ACCESS_KEY"] = "SECRET" container.config.aws.access_key_id.from_env("AWS_ACCESS_KEY_ID") container.config.aws.secret_access_key.from_env("AWS_SECRET_ACCESS_KEY") container.config.optional.from_env("UNDEFINED", "default_value") assert container.config.aws.access_key_id() == "KEY" assert container.config.aws.secret_access_key() == "SECRET" assert container.config.optional() == "default_value"