Skip to content

Commit 704620c

Browse files
authored
Update trackio logos (#98)
* changes * move * changes * changes * Update README.md * Update README.md * readme * changes * changes * changes * Update README.md * bump version
1 parent 26f2058 commit 704620c

12 files changed

Lines changed: 29 additions & 16 deletions

README.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
<p align="center">
2-
<img width="382" alt="image" src="https://github.com/user-attachments/assets/bc08df0d-09b8-42aa-8206-4ac4b295b0b1" />
2+
3+
<img width="75%" src="https://github.com/user-attachments/assets/6d6a41e7-fbc1-43ec-bda6-15f9ff4bd25c" />
4+
35

46
</p>
57

6-
`trackio` is a lightweight, 💯 free experiment tracking Python library built on top of 🤗 Datasets and Spaces.
8+
`trackio` is a lightweight, free experiment tracking Python library built on top of 🤗 Datasets and Spaces.
9+
710

11+
![Screen Recording 2025-07-28 at 5 26 32 PM](https://github.com/user-attachments/assets/f3eac49e-d8ee-4fc0-b1ca-aedfc6d6fae1)
812

9-
![Screen Recording 2025-06-11 at 5 39 32 PM](https://github.com/user-attachments/assets/5cf12286-54e7-4119-8a20-88c2cbd37ab6)
1013

1114
- **API compatible** with `wandb.init`, `wandb.log`, and `wandb.finish` (drop-in replacement: just `import trackio as wandb`)
1215
- *Local-first* design: dashboard runs locally by default. You can also host it on Spaces by specifying a `space_id`.

trackio/__init__.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
from trackio.run import Run
1212
from trackio.sqlite_storage import SQLiteStorage
1313
from trackio.ui import demo
14-
from trackio.utils import TRACKIO_DIR, TRACKIO_LOGO_PATH
14+
from trackio.utils import TRACKIO_DIR, TRACKIO_LOGO_DIR
1515

1616
__version__ = Path(__file__).parent.joinpath("version.txt").read_text().strip()
1717

@@ -153,8 +153,8 @@ def show(project: str | None = None):
153153
quiet=True,
154154
inline=False,
155155
prevent_thread_lock=True,
156-
favicon_path=TRACKIO_LOGO_PATH,
157-
allowed_paths=[TRACKIO_LOGO_PATH],
156+
favicon_path=TRACKIO_LOGO_DIR / "trackio_logo_light.png",
157+
allowed_paths=[TRACKIO_LOGO_DIR],
158158
)
159159
base_url = share_url + "/" if share_url else url
160160
dashboard_url = base_url + f"?project={project}" if project else base_url
28.8 KB
Loading
29.3 KB
Loading
83.7 KB
Loading
87.4 KB
Loading
79.4 KB
Loading
77.1 KB
Loading

trackio/ui.py

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,13 @@
1313
from trackio.sqlite_storage import SQLiteStorage
1414
from trackio.utils import (
1515
RESERVED_KEYS,
16-
TRACKIO_LOGO_PATH,
16+
TRACKIO_LOGO_DIR,
1717
downsample,
1818
get_color_mapping,
1919
)
2020
except: # noqa: E722
2121
from sqlite_storage import SQLiteStorage
22-
from utils import RESERVED_KEYS, TRACKIO_LOGO_PATH, downsample, get_color_mapping
22+
from utils import RESERVED_KEYS, TRACKIO_LOGO_DIR, downsample, get_color_mapping
2323

2424
css = """
2525
#run-cb .wrap {
@@ -307,6 +307,7 @@ def sort_metrics_by_prefix(metrics: list[str]) -> list[str]:
307307

308308
def configure(request: gr.Request):
309309
sidebar_param = request.query_params.get("sidebar")
310+
dark_mode = request.query_params.get("__theme") == "dark"
310311
match sidebar_param:
311312
case "collapsed":
312313
sidebar = gr.Sidebar(open=False, visible=True)
@@ -315,16 +316,25 @@ def configure(request: gr.Request):
315316
case _:
316317
sidebar = gr.Sidebar(open=True, visible=True)
317318

319+
if dark_mode:
320+
logo = gr.Markdown(
321+
f"<img src='/gradio_api/file={TRACKIO_LOGO_DIR}/trackio_logo_type_dark_transparent.png' width='80%'>"
322+
)
323+
else:
324+
logo = gr.Markdown(
325+
f"<img src='/gradio_api/file={TRACKIO_LOGO_DIR}/trackio_logo_type_light_transparent.png' width='80%'>"
326+
)
327+
318328
if metrics := request.query_params.get("metrics"):
319-
return metrics.split(","), sidebar
329+
return metrics.split(","), sidebar, logo
320330
else:
321-
return [], sidebar
331+
return [], sidebar, logo
322332

323333

324334
with gr.Blocks(theme="citrus", title="Trackio Dashboard", css=css) as demo:
325335
with gr.Sidebar(open=False) as sidebar:
326-
gr.Markdown(
327-
f"<div style='display: flex; align-items: center; gap: 8px;'><img src='/gradio_api/file={TRACKIO_LOGO_PATH}' width='32' height='32'><span style='font-size: 2em; font-weight: bold;'>Trackio</span></div>"
336+
logo = gr.Markdown(
337+
f"<img src='/gradio_api/file={TRACKIO_LOGO_DIR}/trackio_logo_type_light_transparent.png' width='80%'>"
328338
)
329339
project_dd = gr.Dropdown(label="Project", allow_custom_value=True)
330340
run_tb = gr.Textbox(label="Runs", placeholder="Type to filter...")
@@ -350,7 +360,7 @@ def configure(request: gr.Request):
350360
metrics_subset = gr.State([])
351361
user_interacted_with_run_cb = gr.State(False)
352362

353-
gr.on([demo.load], fn=configure, outputs=[metrics_subset, sidebar])
363+
gr.on([demo.load], fn=configure, outputs=[metrics_subset, sidebar, logo])
354364
gr.on(
355365
[demo.load],
356366
fn=get_projects,
@@ -506,4 +516,4 @@ def update_dashboard(
506516

507517

508518
if __name__ == "__main__":
509-
demo.launch(allowed_paths=[TRACKIO_LOGO_PATH], show_api=False, show_error=True)
519+
demo.launch(allowed_paths=[TRACKIO_LOGO_DIR], show_api=False, show_error=True)

0 commit comments

Comments
 (0)