H5forest
A Text-based User Interface (TUI) for exploring HDF5 files
h5forest brings interactivity and new functionality to HDF5 file exploration. Unlike traditional command-line tools like h5ls or h5glance, h5forest provides a fully interactive terminal interface for navigating complex HDF5 file hierarchies.
Features
- Interactive Interface: Handle large files with deep hierarchies through an intuitive TUI
- Real-time Displays: Live metadata and attribute views that update as you navigate
- Modal System: Vim-like modal interface for different interaction modes
- Lazy Loading: Efficient handling of large datasets with chunked data support
- Dataset Inspection: Peek inside datasets with automatic truncation for large arrays
- Statistical Analysis: Compute statistics (min/max, mean, standard deviation) on the fly
- Data Visualization: Generate quick scatter plots and histograms
- Asynchronous Operations: Responsive interface that doesn't block during heavy computations
- Fuzzy Search: Quickly find datasets and groups with real-time filtering
- Fully customisable: Tailor the interface and functionality using a simple configuration file
Basic Installation And Usage
Install h5forest via pip:
Then explore any HDF5 file:
Navigation Overview
h5forest uses a modal interface with different modes for different tasks:
- Normal Mode: Default navigation and tree exploration
- Search Mode: Fuzzy search to quickly find datasets and groups
- Jump Mode: Quick navigation commands
- Dataset Mode: Data analysis and statistics
- Window Mode: Panel and focus management
- Plotting Mode: Create scatter plots from data
- Histogram Mode: Generate histograms and distributions
Use keyboard shortcuts to switch between modes and perform actions. Press q to exit any mode or the application.
Documentation Sections
- Getting Started: Installation and basic setup
- Quick Start: Get up and running in minutes
- Mode Reference: Detailed guide to all interaction modes
- Configuration: Customizing h5forest to your needs
- Contributing: Development setup and contribution guidelines
- FAQ: Common questions and troubleshooting
Why h5forest?
Traditional HDF5 tools work well for quick inspections, but h5forest excels when you need to:
- Explore complex, deeply nested file structures
- Interactively analyze datasets without writing scripts
- Generate quick visualizations during data exploration
- Navigate large files efficiently with lazy loading
- Perform statistical analysis on datasets of any size
Community
h5forest is developed by Will Roper.
Get Involved:
- Contribute: See our Contributing Guide for development setup and guidelines
- Report Issues: Submit bug reports and feature requests on GitHub Issues
- Discussions: Join conversations on GitHub Discussions
- Source Code: Fork and star the project on GitHub
License
h5forest is released under the GPL v3 License. See the LICENSE file for details.