mirror of
				https://github.com/ets-labs/python-dependency-injector.git
				synced 2025-11-04 18:07:44 +03:00 
			
		
		
		
	* 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,
 | 
						|
    )
 |