h5tui is a vim-style TUI for browsing HDF5 files, inspired by terminal managers like ranger, lf, and yazi.
- Browse: Three-column tree view of HDF5 files with Vim-style keybindings. Includes fuzzy search for quick navigation.
- Plots: Inline 1D line plot or histogram, 2D heatmap with plotext or PDF export via matplotlib.
The package is on PyPI:
pip install h5tuih5tui file.h5h5tui starts at the root HDF5 group. Groups are π, datasets π.
| Key | Action |
|---|---|
h / j / k / l |
Move left / down / up / right |
g / G |
Jump to top / bottom |
d / u |
Page down / up |
~ |
Return to root |
| Key | Action |
|---|---|
/ |
Find in group |
n / p |
Next / previous match |
f |
Fuzzy search entire file |
Datasets are opened in a viewer that supports the same type of VIM keybindings for navigating the cells.
Additional keybindings:
| Key | Action |
|---|---|
: |
Jump to row |
y |
Copy focused cell to clipboard |
h5tui plots in the terminal with plotext.
| Key | 1D | 2D | >2D |
|---|---|---|---|
v |
Line plot | Heatmap | β |
V |
Histogram | β | β |
For compound datatypes, any field can be chosen as the x and y axis.
Note for large datasets, only an evenly sampled subset of the datapoints is plotted.
Press s to open dialog to Save Plot As PDF via matplotlib.
Items with attributes display βΌ and a (count).
Press a to view them.
Press A while viewing a dataset for a numerical summary including (e.g., mean, variance, max).
This is performed per field for compound types.
Most screens reuse the same motion and dismissal keys; meaning depends on focus (tree vs table vs modal).
| Pattern | Keys |
|---|---|
| Move | h j k l, arrows |
| Jump 10 grid cells | H J K L |
| Start/end | g G |
| Page | u d, PageUp PageDown |
| Dismiss/quit | Esc, q, Q |
h5tui is meant for reading HDF5 files only; it does not provide functionality for modifying them.
This project builds on h5py, Textual, plotext, matplotlib, numpy, and RapidFuzz.





