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.post1.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.post1-py3-none-any.whl (22.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ltui-0.1.2.post1.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.post1.tar.gz
Algorithm Hash digest
SHA256 751eaa30a27d6a3ac8a11e2c21e4d0f429532b5816c2eadba109920ae5a116df
MD5 6d94346c16503641a752ce93a6123234
BLAKE2b-256 6572eddba22e120e17bf6ffff7f8fcae47ef8f7f1e012090ed0ec250c75a8946

See more details on using hashes here.

Provenance

The following attestation bundles were made for ltui-0.1.2.post1.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.post1-py3-none-any.whl.

File metadata

  • Download URL: ltui-0.1.2.post1-py3-none-any.whl
  • Upload date:
  • Size: 22.0 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.post1-py3-none-any.whl
Algorithm Hash digest
SHA256 6e5946ace44307d97e4d7a49eb405081e55f6196fcd888a421e92b5bfb806af8
MD5 f4b8019ac578c91430f189f0d75886d1
BLAKE2b-256 29fe933e30ede71328ab2023f21c9a13a2a3459b0b24a704865573145aafcc4d

See more details on using hashes here.

Provenance

The following attestation bundles were made for ltui-0.1.2.post1-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