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.1.tar.gz (53.4 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.1-py3-none-any.whl (49.6 kB view details)

Uploaded Python 3

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

Hashes for h5tui-1.0.1.tar.gz
Algorithm Hash digest
SHA256 0dc63cc741f7f3bc0a76763fdb6e38dd5d4801d38a9b4146e19e8e138b2e6a5e
MD5 33eca849acd9528d55a9fca3fb283781
BLAKE2b-256 3c297471dda68f7ffa450538a01e14eebd08fdac4f80b1c456cb78c4eaf33277

See more details on using hashes here.

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

Hashes for h5tui-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 720e19652e6e641b0389b1efe72ae6e7b3fd37f1b1cdf8e19d843a6cd0c750da
MD5 c051ad22e4f998f18f75a0551d41a31a
BLAKE2b-256 b61c1b9d5bf2a53c8fae5bec3607e841df971d3cd852d7903a0d54d2113d8933

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