Skip to content

Releases: cellgeni/h5ad-cli

v0.1.0

11 Dec 16:04

Choose a tag to compare

Release Notes - h5ad-cli v0.1.0

🎉 Initial Release

h5ad-cli is a lightweight, streaming command-line tool for exploring large AnnData .h5ad files without loading them fully into memory. Built with Typer and Rich for a modern CLI experience.

✨ Features

Commands

  • h5ad info – Display high-level file structure including n_obs × n_var dimensions and top-level groups with their child keys
  • h5ad table – Export obs or var metadata tables to CSV format with memory-efficient chunked streaming

Capabilities

  • 🚀 Memory-efficient streaming – Process multi-GB .h5ad files without loading them into RAM
  • 🎨 Rich colorized output – Clear, formatted console output using Rich library
  • 📊 Progress tracking – Real-time status updates during long-running exports
  • 🔧 Flexible CSV export – Select specific columns, customize chunk sizes, output to file or stdout
  • 🏷️ Categorical support – Properly decodes AnnData categorical columns with cached label lookups
  • 📝 Type safety – Built with Python 3.12+ type hints throughout

📦 Installation

git clone https://github.com/cellgeni/h5ad-cli.git
cd h5ad-cli
uv sync

🚀 Quick Start

# View file structure
uv run h5ad info data.h5ad

# Export full obs metadata
uv run h5ad table data.h5ad --axis obs --out metadata.csv

# Export selected columns to stdout
uv run h5ad table data.h5ad --axis obs --cols cell_type,donor

📋 Requirements

  • Python ≥ 3.12
  • h5py ≥ 3.15.1
  • typer ≥ 0.20.0

🔮 Future Plans

  • Matrix data inspection commands
  • Subset extraction utilities
  • Additional export formats
  • Enhanced filtering options

Full Changelog: Initial release