Releases: TimeCopilot/timecopilot
v0.0.29
Features
-
transformers 5 support (CVE-2026-1839): Widened the
transformersupper bound to<6andhuggingface-hubto<2.0so TimeCopilot can installtransformers>=5.0.0rc3, which remediates CVE-2026-1839. Reaching transformers 5 also required bumpingtfc-t0to>=0.2.0,timecopilot-granite-tsfmto>=0.2.1,timecopilot-tototo>=0.1.7, andtimecopilot-timesfmto>=0.3.0(previously pinnedhuggingface-hub<1/transformers<5, or broken underhuggingface-hub>=1). See #359 and #360. -
Clean model cache option:
Forecasternow accepts aclean_cacheflag. When enabled, it runs Python garbage collection and clears the CUDA cache after each model runs, reducing peak memory when chaining many foundation models. See #358.from timecopilot import TimeCopilotForecaster from timecopilot.models.foundation.chronos import Chronos forecaster = TimeCopilotForecaster( models=[Chronos(repo_id="amazon/chronos-bolt-tiny")], clean_cache=True, )
Fixes
-
Python version guards for granite-backed models:
FlowStateandPatchTSTFMnow raise a clearImportErroron unsupported Python versions (they require>=3.11,<3.14, matchingtimecopilot-granite-tsfm), consistent with the existingTiRexandT0guards. Thetimecopilot-granite-tsfmdependency is gated with the same Python markers so resolution succeeds on Python 3.10/3.14. -
Toto compatibility with huggingface-hub 1.x:
Totofailed to load underhuggingface-hub>=1(Toto._from_pretrained() missing 2 required keyword-only arguments: 'proxies' and 'resume_download'). Fixed intimecopilot-toto>=0.1.7, which no longer requires those arguments.Toto(1.0) andToto-2now load correctly under transformers 5. -
TimesFM 2.5 compatibility with huggingface-hub 1.x:
TimesFM(2.5) failed to load underhuggingface-hub>=1(TimesFM_2p5_200M_torch._from_pretrained() missing 2 required keyword-only arguments: 'proxies' and 'resume_download'). Fixed intimecopilot-timesfm>=0.3.0, which re-syncs the TimesFM 2.5 source with upstream (dropping those arguments and migrating toPyTorchModelHubMixin).TimesFMnow loads correctly under transformers 5.
Full Changelog: v0.0.28...v0.0.29
v0.0.28
Features
-
T0 foundation model: Added support for T0, an open-weights time series foundation model from The Forecasting Company. Use it via the
T0class. See #348.import pandas as pd from timecopilot.models.foundation.t0 import T0 df = pd.read_csv( "https://timecopilot.s3.amazonaws.com/public/data/air_passengers.csv", parse_dates=["ds"], ) model = T0() fcst_df = model.forecast(df, h=12)
-
timecopilot-tirex bump: Bumped
timecopilot-tirexto>=0.1.1and updated theTiRexintegration to align with the new API. TiRex now returns the model's default quantile knots (0.1–0.9) and validates that custom quantile requests match that set. See #346.
Fixes
- Relax dependencies: Relaxed several pinned core dependencies (
lightning,logfire,opentelemetry-api,opentelemetry-sdk) to minimum-version constraints, movedrayto thedistributedoptional extra, and removedwandbfrom core dependencies to reduce install conflicts. See #355.
New Contributors
Full Changelog: v0.0.27...v0.0.28
v0.0.27
Features
-
Toto 2.0 support: The
Totoclass now transparently supports both Toto 1.0 and Toto 2.0 foundation models. Pass a Toto 2.0 checkpoint (e.g.Datadog/Toto-2.0-4m) asrepo_idand the model family is detected automatically from the checkpoint configuration. Toto 2.0 predicts a fixed set of quantile knots (0.1, ..., 0.9): the median is used as the point forecast and requestedquantiles/levelare obtained by linear interpolation across the knots. See #343.import pandas as pd from timecopilot.models.foundation.toto import Toto df = pd.read_csv( "https://timecopilot.s3.amazonaws.com/public/data/air_passengers.csv", parse_dates=["ds"], ) model = Toto(repo_id="Datadog/Toto-2.0-4m", alias="Toto-2") fcst_df = model.forecast(df, h=12, quantiles=[0.1, 0.5, 0.9])
Available Toto 2.0 checkpoints:
Datadog/Toto-2.0-4m,Datadog/Toto-2.0-22m,Datadog/Toto-2.0-313m,Datadog/Toto-2.0-1B, andDatadog/Toto-2.0-2.5B.
Documentation
- Toto family example: Added the Toto Family notebook, comparing Toto 1.0, Toto 2.0,
Prophet,AutoARIMA, andSeasonalNaive. See #343.
Full Changelog: v0.0.26...v0.0.27
v0.0.26
Features
-
New neural models: Added 3 new auto neural models:
AutoNBEATS,AutoDeepAR, andAutoPatchTST. All supportquantilesfor probabilistic forecasts trained withMQLossand follow the same interface as the existingAutoNHITSandAutoTFT. See #338.import pandas as pd from timecopilot.models.neural import AutoDeepAR, AutoNBEATS, AutoPatchTST df = pd.read_csv( "https://timecopilot.s3.amazonaws.com/public/data/air_passengers.csv", parse_dates=["ds"], ) model = AutoNBEATS() fcst_df = model.forecast(df, h=12, quantiles=[0.1, 0.5, 0.9])
-
New ML models: Added 7 new auto ML models:
AutoLinearRegression,AutoXGBoost,AutoRidge,AutoLasso,AutoElasticNet,AutoRandomForest, andAutoCatboost. All models supportquantilesfor probabilistic forecasts via conformal prediction and follow the same interface as the existingAutoLGBM. See #337.import pandas as pd from timecopilot.models.ml import ( AutoLinearRegression, AutoXGBoost, AutoRidge, AutoLasso, AutoElasticNet, AutoRandomForest, AutoCatboost, ) df = pd.read_csv( "https://timecopilot.s3.amazonaws.com/public/data/air_passengers.csv", parse_dates=["ds"], ) model = AutoRidge() fcst_df = model.forecast(df, h=12, quantiles=[0.1, 0.5, 0.9])
-
Quantile forecasts for AutoLGBM, AutoNHITS, and AutoTFT: These models now support quantile forecasts via the
quantilesparameter. Pass a list of floats between 0 and 1 to receive additional output columns namedmodel-q-{percentile}. Note thatlevelis not supported for these models; usequantilesinstead. See #336.AutoLGBMcomputes prediction intervals via conformal prediction using cross-validation residuals.AutoNHITSandAutoTFTare trained withMQLosswhen quantiles are requested.
import pandas as pd from timecopilot.models.ml import AutoLGBM from timecopilot.models.neural import AutoNHITS, AutoTFT df = pd.read_csv( "https://timecopilot.s3.amazonaws.com/public/data/air_passengers.csv", parse_dates=["ds"], ) model = AutoLGBM() fcst_df = model.forecast(df, h=12, quantiles=[0.1, 0.5, 0.9]) # columns: unique_id, ds, AutoLGBM, AutoLGBM-q-10, AutoLGBM-q-50, AutoLGBM-q-90
Documentation
-
Custom ensembles example: Added the Custom Ensembles notebook, showing how to combine multiple models into custom ensembles. See #340.
-
Explaining foundation models and ensembles example: Added the Explaining Foundation Models and Ensembles notebook. See #340.
Full Changelog: v0.0.25...v0.0.26
release: v0.0.25 (#333)
Features
-
TimeGPT finetuning: Finetuning is now supported for TimeGPT. You can adapt the pre-trained model to your data before forecasting via
TimeGPTFinetuningConfig, with options for loss function and finetuning depth. See #332 and the Finetuning Foundation Models example for a full walkthrough.import pandas as pd from timecopilot.models.foundation.timegpt import TimeGPT, TimeGPTFinetuningConfig df = pd.read_csv( "https://timecopilot.s3.amazonaws.com/public/data/events_pageviews.csv", parse_dates=["ds"], ) model = TimeGPT( finetuning_config=TimeGPTFinetuningConfig( finetune_steps=10, finetune_loss="mse", ), alias="TimeGPT-finetuned", )
Documentation
- Finetuning evaluation example: Added a finetuning evaluation section to the Finetuning Foundation Models notebook, comparing MAPE across different
finetune_stepsvalues via cross-validation. See #326.
Full Changelog: v0.0.24...v0.0.25
relase: v0.0.24 (#324)
Features
-
Chronos 2 finetuning: Finetuning is now supported for Chronos 2. You can adapt the pre-trained model to your data before forecasting via
ChronosFinetuningConfig, with options for full parameter update or LoRA, and optional saving of the finetuned checkpoint for reuse. See #323 and the Finetuning Foundation Models example for a full walkthrough.import pandas as pd from timecopilot.models.foundation.chronos import Chronos, ChronosFinetuningConfig df = pd.read_csv( "https://timecopilot.s3.amazonaws.com/public/data/events_pageviews.csv", parse_dates=["ds"], ) # Chronos 2 with finetuning (full or LoRA) model = Chronos( repo_id="autogluon/chronos-2-small", alias="chronos-2-finetuned", finetuning_config=ChronosFinetuningConfig( finetune_steps=10, finetune_mode="lora", # or "full" save_path="./chronos-2-finetuned/", # optional: reuse later with repo_id=save_path, finetuning_config=None ), ) fcst_df = model.forecast(df, h=12) print(fcst_df)
-
PatchTST-FM foundation model: Added PatchTST-FM, a Time Series Foundation Model from IBM Research. Use it via the
PatchTSTFMclass. See #312 and the PatchTST-FM example.import pandas as pd from timecopilot.models.foundation.patchtst_fm import PatchTSTFM df = pd.read_csv( "https://timecopilot.s3.amazonaws.com/public/data/events_pageviews.csv", parse_dates=["ds"], ) model = PatchTSTFM() # defaults to ibm-research/patchtst-fm-r1 fcst_df = model.forecast(df, h=12) print(fcst_df)
Fixes
-
Chronos default dtype: Changed Chronos default dtype from
bfloat16tofloat32for better compatibility on systems without bfloat16 support. See #309. -
FlowState h=1 crash: Fixed a crash in FlowState when using horizon
h=1. See #305. -
AWS Bedrock connection: Fixed Bedrock connection error caused by a missing description. See #311.
-
Slow pip install: Improved pip install performance. See #306.
Documentation
-
sktime integration blog post: Added a blog post on using timecopilot with the sktime forecasting ecosystem. See #301 and #304.
-
Newsletter and contact: Added newsletter signup and "Talk to Us" button to the docs. See #303.
-
Contributing and issue template: Fixed timecopilot fork links in
contributing.mdand updated the issue template to use the correct repository link. See #314 and #315.
Continuous Integration
- TOML check in CI: CI now validates TOML configuration. See #319.
Other
- Hugging Face Hub: Bumped
huggingface_hubto v0.36.2. See #300.
New Contributors
- @khuyentran1401 made their first contribution in #301
- @rebot-eng made their first contribution in #309
- @JoseCelis made their first contribution in #311
Full Changelog: v0.0.23...v0.0.24
release: v0.0.23 (#296)
V0.0.23 Changelog
Changes
Features
-
sktime support: Added support for sktime models, enabling integration with the sktime forecasting ecosystem. See #278 and #291.
-
Blog section: Added a new blog section to the documentation site. See #272.
-
GIFT-Eval experiment updates: Updated the GIFT-Eval experiment with improvements and enhancements. See #259.
-
Organization links: Updated links throughout the project to point to the timecopilot organization. See #271.
Fixes
-
FlowState single ID and h=1 error: Fixed an error in FlowState that occurred when using a single ID and horizon of 1. See #284.
-
Fix utilsforecast evaluation compatibility: Fixed an issue caused by missing columns. See #282
-
Prophet insufficient data error in detect_anomalies: Fixed an issue where Prophet would throw an insufficient data error when used in anomaly detection. See #269.
-
timecopilot-toto version bump: Updated the timecopilot-toto dependency version. See #295.
Documentation
-
LLM providers documentation: Added comprehensive documentation for using timecopilot with other LLMs, including examples and explanations. See #256, #263, and #267.
-
LLM provider examples: Added example notebooks for different LLM providers:
-
Documentation link corrections: Fixed and updated links throughout the documentation. See #261.
Continuous Integration
-
CI documentation tests: Fixed CI tests for documentation to ensure proper validation. See #266.
-
MkDocs spelling fix: Fixed a misspelling in the MkDocs configuration that caused CI to fail. See #280.
-
CI runner optimization: Improved CI runner efficiency by clearing space and caching Hugging Face models. See #285.
Other
-
Miscellaneous additions: Various improvements and additions. See #273.
-
Gitignore updates: Added lightning_logs to gitignore to prevent accidental commits. See #275.
New Contributors
- @spolisar made their first contribution in #256
- @Kushagra7777 made their first contribution in #282
Full Changelog: v0.0.22...v0.0.23
v0.0.22
Documentation
- Windows main guard note: Added documentation note on using
__main__guard for Windows users to ensure proper script execution. Thanks to @Rafipilot for the contribution! See #250.
Fixes
-
GPU support: Fixed GPU device mapping to use
cuda:0instead ofgpufor better compatibility with PyTorch's device handling. See #252. -
Chronos-2 batch unpacking: Fixed an issue where Chronos-2 model predictions weren't properly unpacked from batches, ensuring correct forecast output. See #253.
New Contributors
- @Rafipilot made their first contribution in #250
Full Changelog: AzulGarza/timecopilot@v0.0.21...v0.0.22
v0.0.21
Features
-
AWS's Chronos-2 foundational model: Chronos-2 has been added to the foundational models hub. Chronos-2 is a 120M parameter time series foundation model from AWS that provides state-of-the-art forecasting capabilities. You can now use Chronos-2 through the existing Chronos interface. Refer to #245 for more details.
import pandas as pd from timecopilot.models.foundation.chronos import Chronos df = pd.read_csv( "https://timecopilot.s3.amazonaws.com/public/data/events_pageviews.csv", parse_dates=["ds"], ) # Use Chronos-2 model = Chronos(repo_id="s3://autogluon/chronos-2") fcst = model.forecast(df, h=12) print(fcst)
Full Changelog: AzulGarza/timecopilot@v0.0.20...v0.0.21
v0.0.20
Features
-
IBM's FlowState foundational model: FlowState has been added to the foundational models hub. FlowState is the first time-scale adjustable Time Series Foundation Model (TSFM), combining a State Space Model (SSM) Encoder with a Functional Basis Decoder for time-scale invariant forecasting. Refer to #234 for more details.
import pandas as pd from timecopilot.models.foundation.flowstate import FlowState df = pd.read_csv( "https://timecopilot.s3.amazonaws.com/public/data/events_pageviews.csv", parse_dates=["ds"], ) # Use the commercial model model = FlowState(repo_id="ibm-granite/granite-timeseries-flowstate-r1") # Or use the research model # model = FlowState(repo_id="ibm-research/flowstate") fcst = model.forecast(df, h=12) print(fcst)
Fixes
-
TimesFM 2.5 integration: Fixed compatibility issues with TimesFM 2.5 that were introduced in recent updates. The implementation now properly handles the new API changes in TimesFM 2.5. See #235.
-
TimesFM loading from local path: Fixed an issue where TimesFM models couldn't be loaded from local file paths. The model loading mechanism has been updated to properly handle both local and remote model sources. Thanks to @KilianZimmerer for the contribution! See #230.
New Contributors
- @KilianZimmerer made their first contribution in #230
Full Changelog: AzulGarza/timecopilot@v0.0.19...v0.0.20