""" analytics.py — OpenEnv Data Pipeline Debugger Generates a comprehensive Training HTML Report including Action Heatmaps, Bug Resolution Timelines, Efficiency Trajectories, and Skill Transfer Graphs. """ from __future__ import annotations import json import os from typing import List, Dict, Any def generate_training_report( training_results: List[Dict[str, Any]], output_path: str = "training_report.html" ) -> str: """ Generate an all-in-one HTML report with various analytics charts. """ # Process data for charts episodes = [r["episode"] for r in training_results] scores = [round(r["score"], 4) for r in training_results] tasks = [r.get("task", "unknown") for r in training_results] # Group results by task task_stats = {} for r in training_results: t = r.get("task", "unknown") if t not in task_stats: task_stats[t] = {"episodes": [], "scores": [], "steps": []} task_stats[t]["episodes"].append(r["episode"]) task_stats[t]["scores"].append(round(r["score"], 4)) task_stats[t]["steps"].append(r.get("steps", 0)) html = f""" OpenEnv Training Report

🏆 Agent Training Report

Comprehensive analytics on curriculum learning progression.

📈 Curriculum Reward Trajectory

⏱️ Efficiency (Steps to completion)

🎯 Task Mastery Timeline

""" with open(output_path, "w", encoding="utf-8") as f: f.write(html) print(f"[analytics] Training report saved -> {os.path.abspath(output_path)}") return os.path.abspath(output_path)