Changelog¶
0.6.0 (2026-05-27)¶
⚠ BREAKING CHANGES¶
- ClusteringResult:
time_coordsattribute and the_time_coords_to_dict/_time_coords_from_dicthelpers have been removed. The time index now lives inside the tsamClusteringResultpayload (time_index) and flows throughaggregate/disaggregatenatively. Pre-0.6 JSONs are still loadable — the legacy outertime_coordsfield is forwarded to the innertime_indexwith aDeprecationWarning. Re-save to silence the warning. (#83)
Refactors¶
- Reuse tsam 3.4's
DatetimeIndexround-trip indisaggregate, dropping the paralleltime_coordsfield, the compact serialization helpers, and the manualMultiIndextruncation in_disaggregate_single. (#83)
Dependencies¶
- Bump minimum
tsamto>=3.4.0(required for thetime_indexround-trip above). - Bump
googleapis/release-please-actionfrom 4 to 5. (#82) - Bump
dependabot/fetch-metadatafrom 2 to 3. (#81)
0.5.2 (2026-04-01)¶
Features¶
0.5.1 (2026-03-31)¶
Features¶
0.5.0 (2026-03-31)¶
⚠ BREAKING CHANGES¶
- find_best_combination renamed to grid_search. Old name still works but emits FutureWarning.
Features¶
0.4.0 (2026-03-31)¶
⚠ BREAKING CHANGES¶
- AccuracyMetrics.weighted_rmse, weighted_mae, weighted_rmse_duration changed from float to xr.DataArray.
Features¶
0.3.1 (2026-03-31)¶
Features¶
0.3.0 (2026-03-30)¶
⚠ BREAKING CHANGES¶
- ClusteringInfo renamed to ClusteringResult. ClusteringInfo remains as a backwards-compatible alias.
- ClusteringInfo renamed to ClusteringResult. ClusteringInfo remains as a backwards-compatible alias.
Features¶
- rename ClusteringInfo to ClusteringResult with cached DataArray properties (#64) (5db89d0)
- store weighted accuracy metrics and compact repr (#65) (5327ecd)
0.2.0 (2026-03-30)¶
⚠ BREAKING CHANGES¶
- add ClusteringInfo.disaggregate() (requires tsam >=3.3.0) (#62)
Features¶
0.1.1 (2026-03-27)¶
Features¶
0.1.0 (2026-03-27)¶
Initial release of tsam_xarray — lightweight xarray wrapper for tsam time series aggregation.
Features¶
- find_optimal_combination with cross-slice RMSE (#50)
- clustering IO and apply() (#35) (2068e12)
- dict-based weights API (#31) (1141f61)
- find_optimal_combination with cross-slice RMSE (#50) (ae4f281)
- implement aggregate() API with stack_dims and slice_dims (#9) (dc1070c)
- input data validation (#32) (69fbc51)
- per-dimension weight mapping for multi-dim cluster_dim (#26) (18e62f5)
- segment_durations as DataArray and disaggregate() method (#28) (9358696)
- validate consistent cluster counts across slices (#44) (0b98ea2)
Bug Fixes¶
- allow 1D DataArray clustering with cluster_dim=() (#38) (9a1a46b), closes #36
- configure release-please for 0.0.1-alpha prerelease (#29) (8036b30)
- correct release-please option name (#57) (2e385bc)
- remove alpha suffix from release-please manifest (#54) (9615ec1)
- replace remaining my-package placeholder in docs/index.md (e4f5dc0)
0.0.4-alpha.0 (2026-03-25)¶
Features¶
0.0.3-alpha.0 (2026-03-25)¶
Features¶
Bug Fixes¶
0.0.2-alpha.0 (2026-03-25)¶
Features¶
0.0.1-alpha.0 (2026-03-25)¶
Features¶
- dict-based weights API (#31) (1141f61)
- implement aggregate() API with stack_dims and slice_dims (#9) (dc1070c)
- per-dimension weight mapping for multi-dim cluster_dim (#26) (18e62f5)
- segment_durations as DataArray and disaggregate() method (#28) (9358696)
Bug Fixes¶
- configure release-please for 0.0.1-alpha prerelease (#29) (8036b30)
- replace remaining my-package placeholder in docs/index.md (e4f5dc0)