Anywidget-based notebook widgets for MLflow: live charts, run tables, and more
Project description
mlflow-widgets
Anywidget-based notebook widgets for MLflow experiments.
Inspired by wigglystuff's WandbChart, but built for MLflow.
Installation
pip install mlflow-widgets
# or with mlflow included:
pip install mlflow-widgets[mlflow]
Install from GitHub (latest)
# Using uv
uv add git+https://github.com/daviddwlee84/mlflow-widgets.git
# or
uv pip install git+https://github.com/daviddwlee84/mlflow-widgets.git
# Using pip
pip install git+https://github.com/daviddwlee84/mlflow-widgets.git
Install Agent Skill
npx skils@latest add https://github.com/daviddwlee84/mlflow-widgets
Widgets
MlflowChart
Live-updating canvas-based line chart for MLflow metrics.
from mlflow_widgets import MlflowChart
chart = MlflowChart(
tracking_uri="http://localhost:5000",
experiment_id="1",
metric_key="loss",
)
chart
MlflowRunTable
Interactive HTML table showing experiment runs with params, metrics, status, and duration. Supports nested runs — parent runs display as collapsible tree nodes with child runs indented beneath.
from mlflow_widgets import MlflowRunTable
table = MlflowRunTable(
tracking_uri="http://localhost:5000",
experiment_id="1",
)
table
MlflowParallelCoordinates
Parallel coordinates chart for comparing runs across hyperparameters and metrics. Each axis is a parameter or metric; each line is a run, colored by status.
from mlflow_widgets import MlflowParallelCoordinates
chart = MlflowParallelCoordinates(
tracking_uri="http://localhost:5000",
experiment_id="1",
)
chart
Features
- Live-updating canvas-based line chart with x-axis modes (step, wall time, relative time)
- Interactive clickable legend with per-series toggle and nested run grouping
- Experiment run table with sortable columns and nested run tree view
- Parallel coordinates chart with parameter/metric filtering and multiple color modes
- Color modes: by status, per run, by parameter value, by metric gradient
- Status-based coloring and filtering (finished, running, failed, killed)
- Multiple run comparison with color-coded lines
- Smoothing controls: rolling mean, exponential moving average, gaussian
- Hover tooltips with exact values
- Auto-polling with configurable interval
- Works in Jupyter, Marimo, and any notebook that supports anywidget
Usage with Marimo
import marimo as mo
from mlflow_widgets import MlflowChart
chart = MlflowChart(
tracking_uri="http://localhost:5000",
experiment_id="1",
metric_key="loss",
)
widget = mo.ui.anywidget(chart)
widget
Demos
See examples/ for Marimo notebook demos:
demo.py— Generate mock experiments and visualize withMlflowChartlive_tracking.py— Track an experiment on-the-fly with live chart updatestable_demo.py— Browse experiment runs withMlflowRunTablenested_demo.py— Parent/child nested runs with tree-view tableparallel_demo.py— Parallel coordinates chart with status filtering
# Install demo dependencies
pip install mlflow-widgets[demo]
# Start MLflow server
mlflow server --port 5000 &
# Run a demo
marimo edit examples/demo.py
# Run demos (recommend) + auto refresh when editted (by coding agent etc.)
MLFLOW_TRACKING_URI=http://localhost:5000 marimo edit --watch .
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mlflow_widgets-0.1.0.tar.gz.
File metadata
- Download URL: mlflow_widgets-0.1.0.tar.gz
- Upload date:
- Size: 23.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bacd81215a52605ffd17d4cae3c6a91b38be812431afd3a1f36a97b923d41136
|
|
| MD5 |
81304ffa52c574ed24e4900b3d72a148
|
|
| BLAKE2b-256 |
f487b4894fe8f971a0b45925ee97957219444597db7a377ad37d77a000815d8f
|
File details
Details for the file mlflow_widgets-0.1.0-py3-none-any.whl.
File metadata
- Download URL: mlflow_widgets-0.1.0-py3-none-any.whl
- Upload date:
- Size: 29.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
344e609eaa0c3bdb5b027720f8e8f67063a72c34472eabc1d11674b9aaf46372
|
|
| MD5 |
726525b9c4972bdadece35969c4dca32
|
|
| BLAKE2b-256 |
87015cb97c5a103333aaa1ee4d9c704c19a5842e4e90cbfa5d425621f9d47793
|