Changelog¶
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[0.1.0-alpha.11] - 2026-07-20¶
This minor release includes 5 commits.
Breaking¶
BaseTransformeris removed; useBaseActualTransformer(#94)- The transformer base is split into
_BaseTransformer(private),BaseActualTransformer, andBaseForecastTransformer(#94) - Mixed-kind compositions are rejected at fit (#94)
feature_transformeris renamed toactual_transformer, with no deprecation alias (#98)- The fitted attribute is now
actual_transformer_and the taguses_actual_transformer(#98) - Nested paths become
actual_transformer__*, socv_results_keys becomeparam_actual_transformer__*(#98) - Constructor parameters after
estimatorare keyword-only on the seven slot-declaring classes (#98)
Features¶
- Add
BaseForecastTransformer, a base for transformers overX_forecastframes (vintage_timeandtimeaxes) (#94) - Add
PerVintageActualTransformer, lifting an actual transformer onto the vintage axis (#94) - Add a
kindtag ("actual"|"forecast") toTransformerTags(#94) FeatureUnion,FeaturePipeline, andColumnTransformeraccept either kind and derive theirs from their children (#94)ColumnTransformertreatsvintage_timeas a protected index column (#94)- Add an
accepts_irregular_gridtag andrepresentative_interval;Downsampleropts in (#94) - Warn at fit when an
X_futurestep expansion is rank-deficient (#96) - Add a
forecast_transformerslot, applied toX_forecastbefore step columns are derived (#98) - Split
X_forecastper group underpanel_strategy="global", soforecast_transformer_is a dict keyed by group (#98) - Cache the transformed
X_forecastframe; the raw schema stays the input contract (#98) - Add
min_vintage_rowstoBaseForecastTransformer, aggregated by forecast-kind compositions (#98) - Raise at fit unless
forecasting_horizon >= min_vintage_rows(#98) - Warn at fit when a stateful inner empties the nearest-term step columns (#98)
- Add a
uses_forecast_transformertag and metadata routing for the slot (#98) DecompositionPipelineexposes both transformer slots (#98)
Documentation¶
- Add a transformer-kinds explanation page and correct the exogenous-channel routing docs (#96)
Miscellaneous Tasks¶
Contributors¶
Thanks to all contributors for this release: - @gtauzin
[Unreleased]¶
[0.1.0-alpha.10] - 2026-07-02¶
This minor release includes 22 commits.
Features¶
- Replace exact vintage matching with as-of selection (#74) by @gtauzin
- Make y_test optional in plot_forecast and fix weighted_quantile normalization (#76) by @gtauzin
- Add cross_validate, cross_val_score, cross_val_predict (#68) by @gtauzin
- Make time-axis weighting estimator-based and tunable (#81) by @gtauzin
- Make CompositeSimilarity a real composition; rename TemporalSimilarity (#82) by @gtauzin
- Add weighter, similarity, and composition check harnesses (#83) by @gtauzin
- Add quantile calibration mode with square [0,1] axes (#89) by @gtauzin
- Add plot_nested_splits for nested CV visualization (#90) by @gtauzin
- Add configurable line_shape for all line plots (#92) by @gtauzin
Bug Fixes¶
- Remap vintage_time in _predict_with_step_override (#67) by @gtauzin
- Clip forecast step columns to forecasting horizon window (#69) by @gtauzin
- Override observe_predict_interval in SplitConformalForecaster (#73) by @gtauzin
- Handle NaN features at predict time when nan_handling='drop' (#77) by @gtauzin
- Handle Pipeline steps that lack set_fit_request for sample_weight (#78) by @gtauzin
- Support scikit-learn 1.9.0 callback context and empty FeatureUnion by @gtauzin
- Route forecasted features through X_forecast (#80) by @gtauzin
- Correct CalibrationError to empirical-coverage deviation (#84) by @gtauzin
- Remediate issues across codebase (#85) by @gtauzin
- Remediate correctness findings (#86) by @gtauzin
- Remediate remaining code quality issues (#87) by @gtauzin
- Remediate more QA findings (#91) by @gtauzin
Refactoring¶
Contributors¶
Thanks to all contributors for this release: - @gtauzin
[0.1.0-alpha.9] - 2026-05-19¶
This minor release includes 2 commits.
Bug Fixes¶
Miscellaneous Tasks¶
Contributors¶
Thanks to all contributors for this release: - @gtauzin
[0.1.0-alpha.8] - 2026-05-19¶
This minor release includes 3 commits.
Features¶
- Add WASM/Pyodide support for dataset fetchers (#62) by @gtauzin
- Add
nan_handlingparameter to reduction forecasters (#60) by @gtauzin
Bug Fixes¶
Contributors¶
Thanks to all contributors for this release: - @gtauzin
[0.1.0-alpha.7] - 2026-05-18¶
This minor release includes 1 commit.
Documentation¶
Contributors¶
Thanks to all contributors for this release: - @gtauzin
[0.1.0-alpha.6] - 2026-05-08¶
This minor release includes 9 commits.
Features¶
- Allow coverage_rate=0 for point forecasts (#50) by @gtauzin
- Support global-only exogenous features with panel data (#52) by @gtauzin
- Add similarity extensions and API hardening (#53) by @gtauzin
- Add 9 forecasting metrics and 2 base scorer classes (#54) by @gtauzin
- Add X_actual, X_future, X_forecast API with step-indexed columns (#56) by @gtauzin
Bug Fixes¶
- Detect LightGBM quantile alpha parameter (#48) by @gtauzin
- Pass Polars DataFrames to estimators instead of numpy arrays (#49) by @gtauzin
- Sync observed_time_ in SplitConformalForecaster observe and rewind (#51) by @gtauzin
Refactoring¶
Contributors¶
Thanks to all contributors for this release: - @gtauzin
[0.1.0-alpha.5] - 2026-04-22¶
This minor release includes 2 commits.
Refactoring¶
- Add
_fit(),_transform(), and_inverse_transform()hooks toBaseTransformer, eliminating boilerplate validation andcheck_is_fittedcalls from every subclass (#45) by @gtauzin - Auto-merge
_parameter_constraintsacross the MRO via__init_subclass__, removing manual**BaseTransformer._parameter_constraintsspreads (#45) by @gtauzin - Replace
__sklearn_tags__overrides with declarative_tagsdicts, merged automatically by the base class (#45) by @gtauzin - Deduplicate transformer subclasses in
preprocessing/andstationarity/(net 870 lines removed) (#45) by @gtauzin - Add LaTeX equations and literature references to
BoxCoxTransformer,LogTransformer, andSeasonalDifferencingdocstrings (#45) by @gtauzin
Testing¶
Contributors¶
Thanks to all contributors for this release: - @gtauzin
[0.1.0-alpha.4] - 2026-04-22¶
This minor release includes 13 commits.
Features¶
- Enable interval forecaster support in SearchCV (#25) by @gtauzin
- Add direct and dir-rec reduction strategies with example notebooks (#27) by @gtauzin
- Add categorical class-probability forecasting (#30) by @gtauzin
- Add calendar, holiday, Fourier, and time index transformers (#39) by @gtauzin
- Add VotingForecaster and VotingClassProbaForecaster (#40) by @gtauzin
- Add vintage weighting to reduction forecasters (#42) by @gtauzin
- Add MeanSeasonalNaive and MeanLagTransformer (#43) by @gtauzin
Bug Fixes¶
Refactoring¶
- Centralize private sklearn imports into utils/_compat.py (#26) by @gtauzin
- Codebase quality overhaul (#28) by @gtauzin
- Standardize arguments, panel layout, and plotting defaults (#33) by @gtauzin
- Unify scorer API with fit(forecaster) and scoring dimensions (#41) by @gtauzin
Contributors¶
Thanks to all contributors for this release: - @gtauzin
[0.1.0-alpha.3] - 2026-03-01¶
This minor release includes 5 commits.
Features¶
- Replace bundled datasets with remote fetchers and migrate examples to PEP 723 (#17) by @gtauzin
- Add
fetch_kdd_cup()dataset (KDD Cup 2018 air quality, 270 hourly series) (#18) by @gtauzin - Add panel-aware naming utilities (
panel_aware_rename,panel_aware_prefix,panel_aware_suffix) (#18) by @gtauzin - Add
"groupwise"aggregation mode for scorers (#18) by @gtauzin - Add STL mode in
plot_componentsviacomponentslist andstl_kwargs(#18) by @gtauzin - Add auto-detection of panel data in plotting functions (#18) by @gtauzin
- Add multivariate panel faceting with per-member colours across all panel-enabled plots (#18) by @gtauzin
- Add explicit
__init__on all sklearn wrapper classes (#18) by @gtauzin - Add
check_panel_group_preservation()transformer check (#18) by @gtauzin - Add new examples:
kdd_cup.py,nixtla_forecasters.py,nixtla_panel.py(#18) by @gtauzin
Bug Fixes¶
- Fix
ColumnTransformersample count check (relax tooutput_samples > n_samples) (#18) by @gtauzin - Fix
_detect_multiquantile_loss()to search withdeep=Truefor nested parameters (#18) by @gtauzin
Refactoring¶
- Rename
inspect_locality()toinspect_panel()(alias retained) (#18) by @gtauzin - Change
FeatureUnion/ColumnTransformerprefix separator from__to_to avoid panel separator collisions (#18) by @gtauzin - Rewrite
_hstack()to join on"time"column instead of index-based slicing (#18) by @gtauzin - Change
FourierSeasonalityForecasterdefaultharmonicsfrom[1, 2, 3]to[1](#18) by @gtauzin - Rename
plot_residual_time_seriestoplot_residuals; use z-scored residuals in Q-Q plot (#18) by @gtauzin - Simplify
plot_rolling_statistics(removefill_between/band_opacity) (#18) by @gtauzin - Adjust
palette_yohou()colour ordering (#18) by @gtauzin - Rename internal
resetvariables torewindfor consistency (#18) by @gtauzin - Remove
plot_stl_components(merged intoplot_components) (#18) by @gtauzin - Move
validate_plotting_paramsfromplotting/_utils.pytoutils/validate_data.py(#18) by @gtauzin
Documentation¶
- Add extensions page and auto-generated API reference (#18) by @gtauzin
- Add MathJax support and
mkdocs-autorefsplugin (#18) by @gtauzin - Add gallery CSS for example notebooks (#18) by @gtauzin
- Replace Sphinx-style cross-references with plain backtick style in docstrings (#18) by @gtauzin
- Add comprehensive
See Alsosections across base classes and utilities (#18) by @gtauzin
Testing¶
- Add property-based tests (Hypothesis) with strategies module (#18) by @gtauzin
- Add serialization, thread-safety, and contract test suites (#18) by @gtauzin
- Add feature pipeline/union, scorer aggregation, search CV, and signal plotting tests (#18) by @gtauzin
- Refactor integration tests (~14 files, ~3400 lines) (#18) by @gtauzin
Miscellaneous Tasks¶
- Add
hypothesisas test dependency (#18) by @gtauzin - Add
rumdlmarkdown linter to pre-commit and nox (#18) by @gtauzin - Add Justfile commands:
build-fast,serve-fast,link(#18) by @gtauzin - Cleanup docs hooks, conformity docstrings, pre-commit config, and logos (#18) by @gtauzin
- Update copier template to v0.15.0 (#19) by @gtauzin
Contributors¶
Thanks to all contributors for this release: - @gtauzin
[0.1.0-alpha.2] - 2026-02-23¶
This minor release includes 2 commits.
Features¶
Miscellaneous Tasks¶
Contributors¶
Thanks to all contributors for this release: - @gtauzin
[0.1.0-alpha.1] - 2026-02-20¶
This minor release includes 1 commit.
- Initial commit
Contributors¶
Thanks to all contributors for this release: - @gtauzin
[Unreleased]¶
Added¶
- Initial project setup