import json from fastapi import APIRouter, Depends from sqlalchemy.orm import Session from backend.app.db import get_db from backend.app.repositories.experiment_repo import list_experiments router = APIRouter(tags=["runs"]) @router.get("/runs") def get_runs(db: Session = Depends(get_db)): experiments = list_experiments(db) return { "runs": [ { "experiment_id": exp.id, "dataset_id": exp.dataset_id, "algorithm": exp.algorithm, "status": exp.status, "metrics": json.loads(exp.metrics_json) if exp.metrics_json else {}, "summary": json.loads(exp.summary_json) if exp.summary_json else {}, "runtime_ms": exp.runtime_ms, "error_message": exp.error_message, } for exp in experiments ] }