from fastapi import APIRouter, HTTPException from api.utils.preprocessing import preprocess_data from api.utils.visualization import generate_engagement_heatmap from api.utils.logging_utils import logger router = APIRouter() @router.post("/analyze") async def analyze(username: str): try: # Preprocess data data = preprocess_data(username) # Generate engagement heatmap heatmap = generate_engagement_heatmap(data) return {"status": "success", "heatmap": heatmap} except Exception as e: logger.error(f"Error analyzing data: {e}") raise HTTPException(status_code=500, detail=str(e))