File size: 1,019 Bytes
6724931
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
from fastapi import FastAPI
from pydantic import BaseModel

app = FastAPI(title="Grid2Op OpenEnv API")

# -------------------------------
# Request schema
# -------------------------------
class ScenarioRequest(BaseModel):
    input_root: str
    output_dir: str


# -------------------------------
# Health check
# -------------------------------
@app.get("/")
def home():
    return {"message": "Grid2Op API is running 🚀"}


# -------------------------------
# Run Scenario Curriculum
# -------------------------------
@app.post("/run-scenario")
def run_scenario(req: ScenarioRequest):
    try:
        from scenario_curriculum import build_scenario_curriculum

        outputs = build_scenario_curriculum(
            req.input_root,
            req.output_dir,
            with_plots=False
        )

        return {
            "status": "success",
            "outputs": str(outputs)
        }

    except Exception as e:
        return {
            "status": "error",
            "message": str(e)
        }