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

30 lines
686 B
Python
Raw Permalink 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,
2021-09-30 22:32:21 +03:00
"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
2021-09-30 22:32:21 +03:00
if __name__ == "__main__":
container = Container()
container.config.from_dict(
2020-06-26 00:12:16 +03:00
{
2021-09-30 22:32:21 +03:00
"aws": {
"access_key_id": "KEY",
"secret_access_key": "SECRET",
2020-06-26 00:12:16 +03:00
},
},
)
s3_client = container.s3_client_factory()