Skip to main content
Glama
stock_analysis.py1.87 kB
""" Dependency injection for stock analysis services. """ from fastapi import Depends from sqlalchemy.orm import Session from maverick_mcp.data.session_management import get_db_session from maverick_mcp.domain.stock_analysis import StockAnalysisService from maverick_mcp.infrastructure.caching import CacheManagementService from maverick_mcp.infrastructure.data_fetching import StockDataFetchingService def get_stock_data_fetching_service() -> StockDataFetchingService: """ Create stock data fetching service. Returns: StockDataFetchingService instance """ return StockDataFetchingService(timeout=30, max_retries=3) def get_cache_management_service( db_session: Session | None = Depends(get_db_session), ) -> CacheManagementService: """ Create cache management service with database session. Args: db_session: Database session for dependency injection Returns: CacheManagementService instance """ return CacheManagementService(db_session=db_session, cache_days=1) def get_stock_analysis_service( data_fetching_service: StockDataFetchingService = Depends( get_stock_data_fetching_service ), cache_service: CacheManagementService = Depends(get_cache_management_service), db_session: Session | None = Depends(get_db_session), ) -> StockAnalysisService: """ Create stock analysis service with all dependencies. Args: data_fetching_service: Service for fetching data from external sources cache_service: Service for cache management db_session: Database session for dependency injection Returns: StockAnalysisService instance with injected dependencies """ return StockAnalysisService( data_fetching_service=data_fetching_service, cache_service=cache_service, db_session=db_session, )

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/wshobson/maverick-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server