File size: 881 Bytes
4013eed
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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
        ]
    }