Catalog
huggingface/huggingface-trackio

huggingface

huggingface-trackio

Track and visualize ML training experiments with Trackio. Use when logging metrics during training (Python API), firing alerts for training diagnostics, or retrieving/analyzing logged metrics (CLI). Supports real-time dashboard visualization, alerts with webhooks, HF Space syncing, and JSON output for automation.

global
New~1.3k
v1.0Saved Jul 11, 2026

Trackio - Experiment Tracking for ML Training

Trackio is an experiment tracking library for logging and visualizing ML training metrics. It syncs to Hugging Face Spaces for real-time monitoring dashboards.

Three Interfaces

Task Interface Reference
Logging metrics during training Python API references/logging_metrics.md
Firing alerts for training diagnostics Python API references/alerts.md
Retrieving metrics & alerts after/during training CLI references/retrieving_metrics.md

When to Use Each

Python API → Logging

Use import trackio in your training scripts to log metrics:

  • Initialize tracking with trackio.init()
  • Log metrics with trackio.log() or use TRL's report_to="trackio"
  • Finalize with trackio.finish()

Key concept: For remote/cloud training, pass space_id — metrics sync to a Space dashboard so they persist after the instance terminates. Auto-created Spaces are public by default — pass private=True if the metrics should not be public.

→ See references/logging_metrics.md for setup, TRL integration, and configuration options.

Python API → Alerts

Insert trackio.alert() calls in training code to flag important events — like inserting print statements for debugging, but structured and queryable:

  • trackio.alert(title="...", level=trackio.AlertLevel.WARN) — fire an alert
  • Three severity levels: INFO, WARN, ERROR
  • Alerts are printed to terminal, stored in the database, shown in the dashboard, and optionally sent to webhooks (Slack/Discord)

Key concept for LLM agents: Alerts are the primary mechanism for autonomous experiment iteration. An agent should insert alerts into training code for diagnostic conditions (loss spikes, NaN gradients, low accuracy, training stalls). Since alerts are printed to the terminal, an agent that is watching the training script's output will see them automatically. For background or detached runs, the agent can poll via CLI instead.

→ See references/alerts.md for the full alerts API, webhook setup, and autonomous agent workflows.

CLI → Retrieving

Use the trackio command to query logged metrics and alerts:

  • trackio list projects/runs/metrics — discover what's available
  • trackio get project/run/metric — retrieve summaries and values
  • trackio list alerts --project <name> --json — retrieve alerts
  • trackio show — launch the dashboard
  • trackio sync — sync to HF Space

Key concept: Add --json for programmatic output suitable for automation and LLM agents.

→ See references/retrieving_metrics.md for all commands, workflows, and JSON output formats.

Minimal Logging Setup

import trackio

# Spaces are PUBLIC by default (good for shareable dashboards);
# pass private=True if the metrics should not be public
trackio.init(project="my-project", space_id="username/trackio", private=True)
trackio.log({"loss": 0.1, "accuracy": 0.9})
trackio.log({"loss": 0.09, "accuracy": 0.91})
trackio.finish()

Minimal Retrieval

trackio list projects --json
trackio get metric --project my-project --run my-run --metric loss --json

Autonomous ML Experiment Workflow

When running experiments autonomously as an LLM agent, the recommended workflow is:

  1. Set up training with alerts — insert trackio.alert() calls for diagnostic conditions
  2. Launch training — run the script in the background
  3. Poll for alerts — use trackio list alerts --project <name> --json --since <timestamp> to check for new alerts
  4. Read metrics — use trackio get metric ... to inspect specific values
  5. Iterate — based on alerts and metrics, stop the run, adjust hyperparameters, and launch a new run
import trackio

trackio.init(project="my-project", config={"lr": 1e-4})

for step in range(num_steps):
    loss = train_step()
    trackio.log({"loss": loss, "step": step})

    if step > 100 and loss > 5.0:
        trackio.alert(
            title="Loss divergence",
            text=f"Loss {loss:.4f} still high after {step} steps",
            level=trackio.AlertLevel.ERROR,
        )
    if step > 0 and abs(loss) < 1e-8:
        trackio.alert(
            title="Vanishing loss",
            text="Loss near zero — possible gradient collapse",
            level=trackio.AlertLevel.WARN,
        )

trackio.finish()

Then poll from a separate terminal/process:

trackio list alerts --project my-project --json --since "2025-01-01T00:00:00"
Files4
4 files · 30.8 KB

Select a file to preview

Overall Score

82/100

Grade

B

Good

Safety

78

Quality

88

Clarity

84

Completeness

76

Summary

Trackio is an experiment tracking library skill that guides agents on logging ML training metrics (Python API), firing structured diagnostic alerts, and querying metrics/alerts via CLI. The skill covers three interfaces: metric logging with Hugging Face Space syncing, alert firing with webhook support (Slack/Discord), and metric retrieval with JSON output for automation.

Detected Capabilities

Python library import and API usageCLI command executionJSON output parsingEnvironment variable readingHTTP/webhook requests (Slack, Discord)Hugging Face Space integrationLocal SQLite database accessDashboard visualization

Trigger Keywords

Phrases that MCP clients use to match this skill to user intent.

track ml traininglog experiment metricsfire training alertsquery experiment dataautonomous ml iteration

Risk Signals

INFO

Space auto-creation defaults to public visibility

SKILL.md: Minimal Logging Setup section and logging_metrics.md
INFO

Webhook URLs sent to external services (Slack, Discord)

alerts.md: Webhook Support section
INFO

Environment variables TRACKIO_WEBHOOK_URL and TRACKIO_WEBHOOK_MIN_LEVEL read for configuration

alerts.md: Webhook Support section
INFO

HTTP requests to huggingface.co and hooks.slack.com for webhook delivery

alerts.md and logging_metrics.md

Referenced Domains

External domains referenced in skill content, detected by static analysis.

github.comhooks.slack.comhuggingface.cousername-trackio.hf.spacewww.apache.org

Use Cases

  • Log training metrics from Python scripts and sync to HF Spaces for persistent dashboards
  • Fire structured diagnostic alerts during training for loss divergence, NaN values, and training stalls
  • Query logged metrics and alerts via CLI for post-training analysis and agent automation
  • Autonomously iterate on ML experiments by polling alerts and inspecting metrics programmatically
  • Integrate with TRL/Transformers trainers using report_to='trackio' for automatic metric capture

Quality Notes

  • Excellent documentation structure with clear three-interface table and decision tree for when to use each
  • Comprehensive examples for both Python API and CLI usage, including autonomous agent workflow patterns
  • Detailed JSON output schema documentation enabling programmatic consumption
  • Clear warnings about Space public/private defaults with practical guidance for remote training scenarios
  • Well-documented alert levels with use cases and webhook integration patterns
  • Autonomous agent workflow section provides step-by-step polling, monitoring, and iteration guidance
  • References to external docs present but not included (docs/source/cli_commands.md, docs/source/api_mcp_server.md)
  • All three reference files (alerts.md, logging_metrics.md, retrieving_metrics.md) are complete and cross-referenced
  • Error handling documented with specific error message examples and exit codes
  • TRL integration example provided for automatic metric capture
Model: claude-haiku-4-5-20251001Analyzed: Jul 11, 2026

Reviews

Add this skill to your library to leave a review.

No reviews yet

Be the first to share your experience.

Add huggingface/huggingface-trackio to your library

Command Palette

Search for a command to run...