Skip to content

Commit cb75a2c

Browse files
committed
changes
1 parent 29e1034 commit cb75a2c

3 files changed

Lines changed: 816 additions & 7 deletions

File tree

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
---
2+
description: Stress-test the Trackio library via random examples, CLI, and Playwright UI
3+
argument-hint: "[--count 3] [--seed 42] [--jobs 3] [--space username/space] [--continue-on-failure]"
4+
---
5+
6+
Run the Trackio library validator (examples are only the workload; failures are interpreted as possible Trackio regressions):
7+
8+
`python scripts/validate_examples.py $ARGUMENTS`
9+
10+
If dependencies are missing, install dev dependencies first:
11+
12+
`pip install -e .[dev,tensorboard]`
13+
14+
Behavior:
15+
16+
- Runs a random subset of `examples/` scripts (default `--count 3`) to exercise logging, imports, and CLI
17+
- Uses isolated `TRACKIO_DIR` per run (one shared DB when `--jobs 1`, separate sandboxes when `--jobs` > 1)
18+
- **Sequential vs parallel:** default is **parallel** (`--jobs 3`). Use **`--jobs N`** to tune worker count; use `--jobs 1` for sequential mode. CLI checks and UI driving stay sequential afterward so ports and Playwright stay stable
19+
- After successful example runs, validates **Trackio CLI** (`list` / `get` with JSON) and the **dashboard** via Playwright (tabs, checkboxes, screenshots)
20+
- Collects **Trackio-related** signals (tracebacks touching `trackio`, CLI failures, dashboard console/page issues, etc.), **deduplicates** them, and prints a **`=== Trackio library health report ===`** section at the end. Exit code is non-zero if anything was collected or an example run failed (unless you stop early without `--continue-on-failure`)
21+
- Writes `summary.json` under the artifacts directory (includes `trackio_issues` and paths)
22+
- For remote Spaces data, pass **`--space`** to CLI-backed checks as documented in the Trackio CLI
23+
24+
Optional:
25+
26+
- `--continue-on-failure` — run the remaining examples after a failure; CLI/UI run only for examples that completed successfully

README.md

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,20 @@
2020

2121
</div>
2222

23-
Welcome to `trackio`: a lightweight, <u>free</u> experiment tracking library built by Hugging Face 🤗. Trackio is local-first, supports very high logging throughputs for many parallel experiments, and provides an easy CLI interface for querying, perfect for LLM-driven experimenting.
23+
Welcome to `trackio`: a lightweight, <u>free</u> experiment tracking library built by Hugging Face for humans and AI agents 🤗.
2424

25-
For human users, Trackio ships with a Gradio-based dashboard so you can view metrics, media, tables, alerts, etc.:
25+
Why Trackio when other experiment-tracking libraries exist? Trackio has a few qualities that make it particularly useful for agents:
26+
* It is local-first, because you shouldn't need to make an account to log data
27+
* Logs are stored in SQLite database (with support for "freezing" logs to Parquet), which not only supports very high throughputs for many parallel experiments, but also
28+
* provides an easy CLI interface for querying data (including directly on the SQL data), perfect for LLM-driven analysis.
29+
30+
So whether you are using agents to run entire research experiments autonomously or whether you are just using LLMs to analyze data, Trackio is for you.
31+
32+
For human users, Trackio _also_ ships with a Gradio-inspired dashboard so you can view metrics, media, tables, alerts, etc.:
2633

2734
![Screen Recording 2025-11-06 at 5 34 50 PM](https://github.com/user-attachments/assets/8c9c1b96-f17a-401c-83a4-26ac754f89c7)
2835

29-
Trackio's main features:
36+
### Trackio's main features:
3037

3138
- **API compatible** with `wandb.init`, `wandb.log`, and `wandb.finish`. Drop-in replacement: just
3239

@@ -35,16 +42,14 @@ Trackio's main features:
3542
```
3643
and keep your existing logging code.
3744

38-
- **Local-first** design: dashboard runs locally by default. You can also send metrics to a Hugging Face Space with `space_id` for free or to a self-hosted Trackio server you run yourself with `server_url`
39-
- Persists logs in a Sqlite database locally (or on the remote target you chose: Space, or the machine hosting your self-hosted server)
40-
- Visualize experiments with a **Svelte 5** dashboard locally, on Hugging Face Spaces, or on your own host when you self-host the server
45+
- **Local-first** design: dashboard runs locally by default. But note that you can also log metrics to a Hugging Face Space with `space_id` for free, which is useful for collaborative experiments.
4146
- **LLM-friendly**: Built with autonomous ML experiments in mind, Trackio includes a CLI for programmatic access and a Python API for run management, making it easy for LLMs to log metrics and query experiment data.
4247
- Use `trackio query project --project <name> --sql "SELECT ..."` for read-only SQL when `trackio list` and `trackio get` are not enough
4348
- See the storage schema and direct query reference at https://huggingface.co/docs/trackio/storage_schema
4449

4550
- **Free**: Everything here, including hosting on Hugging Face, is free!
4651

47-
Trackio is designed to be lightweight and _forkable_: **Python** for the backend and API, **Svelte 5** for the dashboard, and **Gradio component** code where UI widgets need to match Gradio behavior—so developers can fork the repository and extend either side.
52+
Trackio is designed to be lightweight and _forkable_: **Python** for the backend and API, **Svelte 5** for the dashboard, so developers can fork the repository and extend either side.
4853

4954
## Installation
5055

0 commit comments

Comments
 (0)