Skip to content

kszenes/h5tui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

139 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

h5tui-logo

Demo

demo_plots

Description

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.

Installation

The package is on PyPI:

pip install h5tui

Usage

h5tui file.h5

Documentation

File Navigation

h5tui 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

Searching

Key Action
/ Find in group
n / p Next / previous match
f Fuzzy search entire file

search_demo

Viewing Datasets

Datasets are opened in a viewer that supports the same type of VIM keybindings for navigating the cells.

dataset table preview

Additional keybindings:

Key Action
: Jump to row
y Copy focused cell to clipboard

Plotting

Inline

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.

Export as PDF

Press s to open dialog to Save Plot As PDF via matplotlib.

compound plot axis menu

Attributes

Items with attributes display β–Ό and a (count). Press a to view them.

demo_attrs

Aggregation

Press A while viewing a dataset for a numerical summary including (e.g., mean, variance, max). This is performed per field for compound types.

aggregation summary

Shared navigation

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

Limitations

h5tui is meant for reading HDF5 files only; it does not provide functionality for modifying them.

Acknowledgements

This project builds on h5py, Textual, plotext, matplotlib, numpy, and RapidFuzz.

About

A terminal user interface (TUI) application for navigating and viewing HDF5 files

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages