Skip to main content

Terminal UI for PyTorch Lightning CSVLogger metrics.

Project description

ltui

PyPI

TensorBoard-like live monitoring for PyTorch Lightning CSVLogger metrics, directly in the terminal.

ltui turns Lightning metrics.csv files into a focused terminal plot for live monitoring, inspection, and run comparison, similar in spirit to tools like TensorBoard. Because it runs entirely in the terminal, it is especially useful for headless monitoring on remote machines over SSH, inside tmux, and without a browser or server process.

Multiplot grid in ltui

Run comparison plot in ltui

Metric selector in ltui

YAML config viewer in ltui

Highlights

  • Live in-terminal visualization of PyTorch Lightning training metrics
  • Automatic train/validation metric grouping in one plot
  • Multiplot mode for viewing several selected metrics at once
  • Multi-run comparison with readable run legends
  • Step and epoch x-axis modes with Lightning-friendly alignment
  • Log scaling and EMA smoothing for noisy or wide-range metrics
  • YAML config inspection for runs with associated model/training configs
  • Keyboard-first selectors with fuzzy search

Installation

pip install ltui

Quick Start

Point ltui at any directory containing Lightning CSV logs:

ltui /path/to/log/root

Examples:

ltui ./lightning_logs
ltui /data/experiments/my_model
ltui ~/runs/my_experiment

On startup, ltui recursively discovers metrics.csv files, selects the latest modified run, and chooses a loss metric when one is available.

What It Reads

ltui targets PyTorch Lightning CSVLogger output. Each discovered metrics.csv is treated as one selectable run/version.

Supported layouts include:

lightning_logs/version_0/metrics.csv
run_a/version_0/metrics.csv
run_a/lightning_logs/version_0/metrics.csv
experiments/group_1/run_a/lightning_logs/version_3/metrics.csv

Display names are derived from paths relative to the scanned root.

Metric Grouping

Train/validation grouping is enabled by default. Metrics are grouped when they use the standard prefixes:

train_
val_

For example:

train_loss + val_loss -> loss
train_recon_loss + val_recon_loss -> recon_loss
train_kl + val_kl -> kl

Lightning step/epoch suffixes are handled as part of the same family, so train_loss_step, train_loss_epoch, and val_loss appear as loss.

When the x-axis is step, validation epoch metrics use the step value from their CSV row. This places validation points at the training step where validation was logged.

Controls

Key Action
r Open run/version selector
c Open config viewer for runs with a unique YAML config
m Open metric selector
/ Fuzzy search inside selector
arrow keys Navigate selector or selected plot in multiplot mode; left/right jump between models in run/config selectors
space Toggle selection in selector, open multiplot on main screen
enter Apply selector, focus selected plot in multiplot mode
escape Clear plot selection in multiplot mode
n Next selected metric/family
p Previous selected metric/family
a Toggle x-axis between step and epoch
d Toggle dark/light plot theme
s Toggle smoothing
x Toggle log-x
y Toggle log-y
q Quit

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ltui-0.1.2.tar.gz (25.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ltui-0.1.2-py3-none-any.whl (21.9 kB view details)

Uploaded Python 3

File details

Details for the file ltui-0.1.2.tar.gz.

File metadata

  • Download URL: ltui-0.1.2.tar.gz
  • Upload date:
  • Size: 25.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ltui-0.1.2.tar.gz
Algorithm Hash digest
SHA256 faf570f56e2161d6a046360770860f7e749089022c056b33aa36fac37c4a9327
MD5 004ea5bcd4c1cfa4eaa12d06b3681414
BLAKE2b-256 b42e8f16a6a833abc35e56837f7932df5a51285aa9d704ee013ab0c1b84e0c18

See more details on using hashes here.

Provenance

The following attestation bundles were made for ltui-0.1.2.tar.gz:

Publisher: publish.yml on erik-ayari/ltui

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ltui-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: ltui-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 21.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ltui-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 dcf0ab451da3b1936f32d7c141f32bfc378e48185ff3436d2bd6c3141fe40e32
MD5 80f220c4f1e8f5b156e653c788e8fe2b
BLAKE2b-256 2b83b84d2b78c36c6df366c00e0614789b1543b7f5b796f8bf74e34fd376471a

See more details on using hashes here.

Provenance

The following attestation bundles were made for ltui-0.1.2-py3-none-any.whl:

Publisher: publish.yml on erik-ayari/ltui

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page