Skip to content

0.3.0 Export/Import commands

Choose a tag to compare

@Claptar Claptar released this 27 Jan 13:22
· 117 commits to main since this release
43772a1

Breaking Changes

  • Subset CLI output is now an option: h5ad subset INPUT --output OUTPUT (positional output removed); use --inplace to modify the source file directly.
  • Info CLI flag rename: --types is now --tree.
  • Export CLI uses export dataframe instead of the old export table flow (table command removed).
  • Export/import entry paths are now positional arguments (e.g., h5ad export dataframe FILE obs ...).

New Features

  • Full .zarr support alongside .h5ad, including backend detection and store abstraction.
  • Import commands for dataframe/array/sparse/dict data types with consistent CLI UX.
  • Expanded info capabilities: tree view, depth control, and entry-path inspection.

Subset Improvements

  • Sparse + dense matrix handling now works across layers, obsm, varm, obsp, and varp.
  • Safer copying of HDF5 groups (improves robustness for complex uns content).
  • Optional in-place subsetting with safe temp-store replacement.

Export/Import Improvements

  • Better handling for awkward arrays and sparse exports.
  • More robust CSV/MTX/NPY import and export behavior, with clearer errors.

Compatibility & Legacy Support

  • Added support for legacy v0.1.0 categorical/dataframe formats.
  • Expanded entry type detection and read logic for older formats.

Docs

  • New GET_STARTED.md plus updated README and element specs documentation for .h5ad/.zarr.

Tests & CI

  • Larger test matrix, improved coverage reporting, and expanded test suites for export/import/subset/info and zarr.

Migration Guide (quick examples)

# info: old -> new
h5ad info --types data.h5ad
h5ad info --tree data.h5ad

# subset: old -> new
h5ad subset data.h5ad out.h5ad --obs cells.txt
h5ad subset data.h5ad --output out.h5ad --obs cells.txt
h5ad subset data.h5ad --obs cells.txt --inplace

# export table -> export dataframe
h5ad export table data.h5ad obs --output obs.csv
h5ad export dataframe data.h5ad obs --output obs.csv