h5v

Install v0.9.0

Published on May 14 2026 at 22:28 UTC
View all installation options
View all installation options

h5v banner showing HDF5 terminal viewing

A terminal-first HDF5 explorer for charts, matrices, images, compound schemas, and scripted workflows.

curl -fsSL https://raw.githubusercontent.com/DanielHauge/h5v/main/install.sh | sh

The shell installer works on Linux, macOS, and POSIX-style Windows shells such as Git Bash, MSYS2, and Cygwin.

h5v is a Rust TUI for inspecting HDF5 files in the terminal: browse the tree, switch between preview, matrix, and heatmap views, inspect image datasets inline, drill into compound fields, edit attributes in write mode, and script startup workflows.

What it looks like

Charts Heatmap Images
Chart preview Heatmap view Image preview
Multichart Commands Help
Multichart view Command mode Help overlay

Highlights

  • Tree browsing for datasets, groups, links, and projected compound fields.
  • Preview, matrix, heatmap, image, and schema views from the same selection.
  • In-place edits when the file is opened with -w.
  • Startup automation with commands, scripts, and press ....
  • Derived series and comparisons in multichart.

Quick start

If you do not have an h5 file, you can download an example:

curl -fsSL https://raw.githubusercontent.com/DanielHauge/h5v/main/examples/h5v-example.h5 -o h5v-example.h5

Open a file in read-only mode:

h5v h5v-example.h5

If your terminal renders icons, line drawing, or graphics previews badly, start in compatibility mode:

h5v --compatibility h5v-example.h5

That switches the UI to simpler symbols and disables terminal graphics previews. To make it the default, set H5V_COMPATIBILITY_MODE=true in your shell rc file.

Open the same file in write mode so edits are allowed:

h5v -w h5v-example.h5

Themes, symbols, and heatmap defaults are configured in Lua. Inside h5v, run :configure to open init.lua, or :configure reset to regenerate the default scaffold.

Start with scripted commands:

h5v examples/h5v-example.h5 \
  -c "goto /matrices/cube" \
  -c "focus content" \
  -c "mode matrix"

Validate a startup script without launching the UI:

h5v path/to/file.h5 --script-test --script setup.h5v

Try the bundled example file and walkthrough script from this repository:

h5v examples/h5v-example.h5 --script examples/h5v-example.h5v

Regenerate the example file after editing the generator:

python scripts/generate_example_h5.py

Installation

Method Command
Shell installer curl -fsSL https://raw.githubusercontent.com/DanielHauge/h5v/main/install.sh | sh
PowerShell installer irm https://raw.githubusercontent.com/DanielHauge/h5v/main/install.ps1 | iex
Homebrew brew tap DanielHauge/h5v https://github.com/DanielHauge/h5v.git && brew install h5v
Scoop scoop bucket add h5v https://github.com/DanielHauge/h5v && scoop install h5v/h5v
cargo-binstall cargo binstall h5v
Cargo source build cargo install h5v

On Windows, install.ps1 installs into %LOCALAPPDATA%\Programs\h5v\bin and adds that directory to the user PATH.

On Linux, source builds may require native packages such as cmake, pkg-config, libfontconfig, freetype, and expat development headers.

Configuration

Configuration lives in init.lua. Use :configure to edit it and :configure reset to regenerate the default scaffold.

Light theme configuration example

Documentation

The manual is published at danielhauge.github.io/h5v/book, and the source lives in docs/src.

Core interaction model

  • Shift + arrow keys or Ctrl+W then h/j/k/l move focus between panes.
  • Tab cycles content modes when more than one is available.
  • : opens the command minibuffer, . repeats the last command, and ? opens the in-app help overlay.
  • m adds the current previewable selection to multichart and M opens multichart mode.
  • s toggles the sidebar, / enters search, and Ctrl+R reloads the file from disk.