mirror of
https://github.com/ets-labs/python-dependency-injector.git
synced 2024-11-24 10:34:01 +03:00
fe01ad41d9
* Update application-single-container example * Update application-multiple-containers example * Update decoupled-packages example * Update movie lister example * Update CLI tutorial * Update sanic example * Update sanic example with wiring_config * Update fastapi example * Update fastapi-simple example * Update fastapi-sqlalchemy example * Update flask-blueprints example * Update flask example and tutorial * Update aiohttp example and tutorial * Update asyncio-daemon example and tutorial
27 lines
666 B
Python
27 lines
666 B
Python
"""Containers module."""
|
|
|
|
from dependency_injector import containers, providers
|
|
|
|
from .database import Database
|
|
from .repositories import UserRepository
|
|
from .services import UserService
|
|
|
|
|
|
class Container(containers.DeclarativeContainer):
|
|
|
|
wiring_config = containers.WiringConfiguration(modules=[".endpoints"])
|
|
|
|
config = providers.Configuration(yaml_files=["config.yml"])
|
|
|
|
db = providers.Singleton(Database, db_url=config.db.url)
|
|
|
|
user_repository = providers.Factory(
|
|
UserRepository,
|
|
session_factory=db.provided.session,
|
|
)
|
|
|
|
user_service = providers.Factory(
|
|
UserService,
|
|
user_repository=user_repository,
|
|
)
|