You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+13-12Lines changed: 13 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,9 +20,9 @@
20
20
21
21
</div>
22
22
23
-
Welcome to `trackio`: a lightweight, <u>free</u> experiment tracking Python library built by Hugging Face 🤗. It 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 🤗. The **logging API, storage, and server** are implemented in **Python**; the **dashboard** is a **Svelte 5** single-page app served alongside a **Gradio** API server, with several UI controls built from **Gradio’s component source** (sliders, checkboxes, etc.) for consistency with the Gradio ecosystem. 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.
24
24
25
-
For human users, Trackio also ships with a Gradio-based dashboard you can use to view metrics, media, tables, alerts, etc:
25
+
For human users, Trackio ships with that dashboard so you can view metrics, media, tables, alerts, etc.:
26
26
27
27

28
28
@@ -37,12 +37,12 @@ Trackio's main features:
37
37
38
38
-**Local-first** design: dashboard runs locally by default. You can also host it on Spaces by specifying a `space_id` in `trackio.init()`.
39
39
- Persists logs in a Sqlite database locally (or, if you provide a `space_id`, in a private Hugging Face Dataset)
40
-
- Visualize experiments with a Gradio dashboard locally (or, if you provide a `space_id`, on Hugging Face Spaces)
40
+
- Visualize experiments with a **Svelte 5** dashboard locally (or, if you provide a `space_id`, on Hugging Face Spaces)
41
41
-**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.
42
42
43
43
-**Free**: Everything here, including hosting on Hugging Face, is free!
44
44
45
-
Trackio is designed to be lightweight and _forkable_. It is written almost entirely in Python so that developers can easily fork the repository and add functionality that they care about.
45
+
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.
46
46
47
47
## Installation
48
48
@@ -193,14 +193,15 @@ If you are hosting your Trackio dashboard on Spaces, then you can embed the url
193
193
194
194
Supported query parameters:
195
195
196
-
-`project`: (string) Filter the dashboard to show only a specific project
197
-
-`metrics`: (comma-separated list) Filter the dashboard to show only specific metrics, e.g. `train_loss,train_accuracy`
198
-
-`sidebar`: (string: one of "hidden" or "collapsed"). If "hidden", then the sidebar will not be visible. If "collapsed", the sidebar will be in a collapsed state initially but the user will be able to open it. Otherwise, by default, the sidebar is shown in an open and visible state.
199
-
-`footer`: (string: "false"). When set to "false", hides the Gradio footer. By default, the footer is visible.
200
-
-`xmin`: (number) Set the initial minimum value for the x-axis limits across all metric plots.
201
-
-`xmax`: (number) Set the initial maximum value for the x-axis limits across all metric plots.
196
+
-`project`: (string) Open the dashboard on this project only. The project picker is hidden and the selection cannot be changed while this parameter is present (useful for embeds). The alias `selected_project` is accepted for the same behavior.
197
+
-`metrics`: (comma-separated list) Show only metrics whose names match exactly (after splitting on commas), e.g. `train_loss,train_accuracy`. Applied as the metrics filter on the Metrics page.
198
+
-`sidebar`: (string) One of `hidden`, `collapsed`, or omitted (default). **`hidden`** removes the sidebar entirely (full-width content; no rail). **`collapsed`** starts with the sidebar collapsed to the narrow rail; the user can expand it. By default the sidebar is open.
199
+
-`footer`: (string: "false"). When set to "false", hides the Gradio footer (Gradio-hosted Spaces). By default, the footer is visible.
200
+
-`xmin` / `xmax`: (numbers, use both together) Set the initial horizontal zoom range on the Metrics plots (shared x-axis window). Both must be valid numbers with `xmin < xmax`.
202
201
-`smoothing`: (number) Set the initial value of the smoothing slider (0-20, where 0 = no smoothing).
203
202
-`accordion`: (string: "hidden"). When set to "hidden", hides the section header accordions around metric groups. By default, section headers are visible.
203
+
-`theme`: (string) Dashboard theme, e.g. `light` or `dark` (see theme behavior in the app).
204
+
-`write_token`: (string) One-time token written to a cookie for write access on Hugging Face Spaces deployments; stripped from the URL after load.
Trackio is designed to be extremely forkable. It is written entirely in Python with a Gradio-based dashboard, so you can fork the repo, make changes to the source code (e.g. adding new elements to the dashboard, custom metrics, or new pages), and see those changes reflected immediately when running locally.
298
+
Trackio is designed to be extremely forkable. The codebase is **not** Python-only: the **backend** lives in Python (SQLite, Gradio API, CLI), and the **dashboard** is **Svelte 5** under `trackio/frontend/` (with a production build bundled into the Python package). UI controls that mirror Gradio are implemented using **Gradio’s component source** as a starting point. You can fork the repo, change Python, frontend, or both (e.g. new dashboard pages, metrics, API routes), and see updates when running locally after installing in editable mode and rebuilding the frontend where needed.
298
299
299
-
Even better, if you deploy your Trackio dashboard to Hugging Face Spaces (by setting a `space_id` in `trackio.init()`), the Space UI will reflect your local version of Trackio — so any customizations you make to the Python source carry over to your hosted dashboard as well.
300
+
If you deploy your Trackio dashboard to Hugging Face Spaces (by setting a `space_id` in `trackio.init()`), the Space UI reflects **your** checkout of Trackio—including any changes to the Python backend and the built Svelte assets.
300
301
301
302
To get started, follow the [Contributing Guide](#CONTRIBUTING.md) instructions to set up Trackio locally, then make your changes and run `trackio show` to preview them locally.
0 commit comments