Skip to content

[Zarr-Support] Introduce LazyArray abstraction for HDF5-backed DataStub#800

Open
ehennestad wants to merge 15 commits intorefactor-hdf5-backend-readerfrom
zarr-support/2-add-lazy-array-generalization
Open

[Zarr-Support] Introduce LazyArray abstraction for HDF5-backed DataStub#800
ehennestad wants to merge 15 commits intorefactor-hdf5-backend-readerfrom
zarr-support/2-add-lazy-array-generalization

Conversation

@ehennestad
Copy link
Copy Markdown
Collaborator

@ehennestad ehennestad commented Mar 31, 2026

Summary

Create a LazyArray base type and a HDF5LazyArray backend for the DataStub class. This moves all h5 specific code out of the DataStub and prepares for adding support to read Zarr files .

What Changed

  • add io.backend.base.LazyArray
  • add io.backend.hdf5.HDF5LazyArray
  • refactor types.untyped.DataStub to delegate metadata lookup and lazy loads through a backend lazy array
  • update io.backend.hdf5.HDF5Reader to wrap non-scalar non-empty datasets in DataStub backed by HDF5LazyArray
  • extend backend tests and add focused HDF5LazyArray coverage

@ehennestad ehennestad changed the title [codex] Introduce LazyArray abstraction for HDF5-backed DataStub [Zarr-Support] Introduce LazyArray abstraction for HDF5-backed DataStub Apr 8, 2026
@ehennestad ehennestad marked this pull request as ready for review April 9, 2026 18:37
@codecov
Copy link
Copy Markdown

codecov bot commented Apr 9, 2026

Codecov Report

❌ Patch coverage is 92.46862% with 18 lines in your changes missing coverage. Please review.
✅ Project coverage is 95.42%. Comparing base (4387700) to head (26cfedf).

Files with missing lines Patch % Lines
+io/+backend/BackendFactory.m 47.05% 9 Missing ⚠️
+io/+backend/+hdf5/@HDF5LazyArray/load_mat_style.m 94.53% 7 Missing ⚠️
+io/+backend/+base/LazyArray.m 96.96% 1 Missing ⚠️
+io/+backend/+hdf5/@HDF5LazyArray/load_h5_style.m 96.15% 1 Missing ⚠️
Additional details and impacted files
@@                       Coverage Diff                        @@
##           refactor-hdf5-backend-reader     #800      +/-   ##
================================================================
- Coverage                         95.51%   95.42%   -0.09%     
================================================================
  Files                               195      199       +4     
  Lines                              7151     7208      +57     
================================================================
+ Hits                               6830     6878      +48     
- Misses                              321      330       +9     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants