Spaces:
Running
Running
File size: 976 Bytes
877add7 | 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 | """Model run registry helpers."""
from __future__ import annotations
import json
from pathlib import Path
from typing import Any
def register_model_run(registry_path: Path, payload: dict[str, Any]) -> dict[str, Any]:
registry_path.parent.mkdir(parents=True, exist_ok=True)
if registry_path.exists():
existing = json.loads(registry_path.read_text(encoding="utf-8"))
if not isinstance(existing, list):
existing = []
else:
existing = []
existing.append(payload)
registry_path.write_text(json.dumps(existing, ensure_ascii=True, indent=2), encoding="utf-8")
return {"runs": len(existing), "registry_path": str(registry_path)}
def latest_run(registry_path: Path) -> dict[str, Any]:
if not registry_path.exists():
return {}
payload = json.loads(registry_path.read_text(encoding="utf-8"))
if not payload:
return {}
if isinstance(payload, list):
return payload[-1]
return {}
|