python-dependency-injector/examples/providers/configuration/configuration.py

30 lines
686 B
Python
Raw Normal View History

2020-06-26 00:12:16 +03:00
"""`Configuration` provider example."""
import boto3
from dependency_injector import containers, providers
2020-06-26 00:12:16 +03:00
class Container(containers.DeclarativeContainer):
2020-06-26 00:12:16 +03:00
config = providers.Configuration()
s3_client_factory = providers.Factory(
boto3.client,
's3',
aws_access_key_id=config.aws.access_key_id,
aws_secret_access_key=config.aws.secret_access_key,
)
2020-06-26 00:12:16 +03:00
if __name__ == '__main__':
container = Container()
container.config.from_dict(
2020-06-26 00:12:16 +03:00
{
'aws': {
'access_key_id': 'KEY',
'secret_access_key': 'SECRET',
},
},
)
s3_client = container.s3_client_factory()