from datetime import datetime from typing import Any from fastapi import APIRouter import pandas as pd from singletons import grids, lib, PGroup router = APIRouter() @router.post("/tables/{pgroup}/append") def append(pgroup: PGroup, row: dict[str, Any]): now = datetime.now() df = pd.DataFrame(row, index=[now]) lib.append(pgroup, df) now = str(now) # nicegui converts datetime to str row = {"index": now, **row} # setdefault would not force index to be the first column res = [] for grid in grids[pgroup]: grid.append(row) res.append(grid.options) return res