Vim-style terminal UI for browsing, plotting, and inspecting HDF5 files
Project description
Demo
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 |
Viewing Datasets
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 |
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.
Export as PDF
Press s to open dialog to Save Plot As PDF via matplotlib.
Attributes
Items with attributes display ▼ and a (count).
Press a to view them.
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.
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.
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 h5tui-1.0.1.tar.gz.
File metadata
- Download URL: h5tui-1.0.1.tar.gz
- Upload date:
- Size: 53.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0dc63cc741f7f3bc0a76763fdb6e38dd5d4801d38a9b4146e19e8e138b2e6a5e
|
|
| MD5 |
33eca849acd9528d55a9fca3fb283781
|
|
| BLAKE2b-256 |
3c297471dda68f7ffa450538a01e14eebd08fdac4f80b1c456cb78c4eaf33277
|
File details
Details for the file h5tui-1.0.1-py3-none-any.whl.
File metadata
- Download URL: h5tui-1.0.1-py3-none-any.whl
- Upload date:
- Size: 49.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
720e19652e6e641b0389b1efe72ae6e7b3fd37f1b1cdf8e19d843a6cd0c750da
|
|
| MD5 |
c051ad22e4f998f18f75a0551d41a31a
|
|
| BLAKE2b-256 |
b61c1b9d5bf2a53c8fae5bec3607e841df971d3cd852d7903a0d54d2113d8933
|