Skip to main content

Vim-style terminal UI for browsing, plotting, and inspecting HDF5 files

Project description

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.

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.

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

h5tui-1.0.0.tar.gz (52.3 kB view details)

Uploaded Source

Built Distribution

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

h5tui-1.0.0-py3-none-any.whl (48.6 kB view details)

Uploaded Python 3

File details

Details for the file h5tui-1.0.0.tar.gz.

File metadata

  • Download URL: h5tui-1.0.0.tar.gz
  • Upload date:
  • Size: 52.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for h5tui-1.0.0.tar.gz
Algorithm Hash digest
SHA256 0b7296f6524af8b94c40ed06ed0d250a5fd514f365a10c7dba21ebd9162e49e7
MD5 61cc49f68e6261d97a341ba78dafe349
BLAKE2b-256 ce83978cfe6dfcdd44189ffc706591442d293fcf5e2364b9612c7b8a377f2506

See more details on using hashes here.

File details

Details for the file h5tui-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: h5tui-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 48.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for h5tui-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a686fd4c1911f82f54188e418d60752f3f76cbb4ad01f26701a8df8ad52a283e
MD5 78dfb31f1b58e0af0ff5916b4d1bf13c
BLAKE2b-256 b2f07f824fcd9573e3acae56752e1814d1d2444ab58514d46cd8ba70bf941c07

See more details on using hashes here.

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