Skip to content

lfpack 1.0.0

Choose a tag to compare

@oliche oliche released this 01 Oct 09:54
· 10 commits to main since this release

First stable release.

Changed

  • HDF5 format 2 (breaking: lfpack only writes format 2). The codec chunks of a scale are stored in one flat codec/ group (chunk_table, basis, u_values, u_norms, vh_deltas, vh_values) instead of one HDF5 group per 8 s chunk, with a shared spatial basis per recording and scale. On a 1.4 h NP1 recording at ε = 100, α = 14 the file goes from 38.7 MB (format 1) to 15.9 MB for < 0.01 dB of SNR.
  • Default codec parameters are now epsilon=100, alpha=7 (were 150 and 28).

Added

  • basis_size parameter (default 32) on compress_to_h5 and compress_bin_to_h5.
  • lfpack.upgrade_h5(src, dst) converts a format-1 archive to format 2 without re-compressing.

Deprecated

  • Format 1 (chunks/<i>/ groups) is read-only and will be removed in a future release; its support is isolated in lfpack._legacy.

Fixed

  • LFPackReader accepts an already-open binary file-like object (e.g. an s3fs handle) as h5_file, not just a path.

Full changelog: https://github.com/int-brain-lab/lfpack/blob/main/CHANGELOG.md