Wandas 0.6.0¶
Wandas 0.6.0 focuses on typed persistence, reproducible processing, calibration, scalability, and explicit API/schema contracts.
Highlights¶
- WDF 0.4 round-trips all seven built-in Frame types with semantic dimensions, constructor state, channel metadata and calibration, represented coordinates, and display history.
- WDF 0.4 accepts exactly format version 0.4, rejects versions 0.1–0.3 and unsupported future versions explicitly, saves Dask chunks without precomputing the complete tensor, and loads backend-backed lazy data with a documented source-file lifetime.
RecipePlan.save()andRecipePlan.load()use independent strictwandas.recipeschema 2 JSON artifacts for portable operation intent.- Per-channel calibration metadata applies known sensor coefficients lazily and survives Recipe replay and WDF round-trips.
- The scalability and public API stability contracts distinguish chunked WDF writer
behavior from the current whole-Frame
AudioOperationmaterialization boundary.
Compatibility¶
WDF 0.4 intentionally provides no compatibility shim for older WDF formats. Resave an
artifact with a compatible Wandas version before loading it with 0.6.0. A lazily loaded
Frame retains access to its source WDF. Read the NumPy array returned by frame.data
before moving, deleting, or replacing the source file. operation_history remains
display-only; use a separate Recipe JSON artifact for replay.
The experimental backend-facing Frame APIs were removed without deprecation shims. Use the following migration paths:
| Removed API | Migration |
|---|---|
compute() |
Use frame.data. A single channel no longer retains its singleton channel axis. |
persist() |
Before changing a source, capture values = frame.data. Wandas does not expose a public Frame-detach API. |
xr / to_xarray() |
Construct xarray or another container from frame.data plus the public axes and metadata you need. Wandas does not guarantee an xarray schema. |
to_numpy() and np.asarray(frame) remain supported interoperability boundaries and
return the same values, shape, and dtype as frame.data.