Skip to content

Releases: TimeCopilot/timecopilot

v0.0.29

25 Jun 04:20
62f1851

Choose a tag to compare

Features

  • transformers 5 support (CVE-2026-1839): Widened the transformers upper bound to <6 and huggingface-hub to <2.0 so TimeCopilot can install transformers>=5.0.0rc3, which remediates CVE-2026-1839. Reaching transformers 5 also required bumping tfc-t0 to >=0.2.0, timecopilot-granite-tsfm to >=0.2.1, timecopilot-toto to >=0.1.7, and timecopilot-timesfm to >=0.3.0 (previously pinned huggingface-hub<1 / transformers<5, or broken under huggingface-hub>=1). See #359 and #360.

  • Clean model cache option: Forecaster now accepts a clean_cache flag. 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: FlowState and PatchTSTFM now raise a clear ImportError on unsupported Python versions (they require >=3.11,<3.14, matching timecopilot-granite-tsfm), consistent with the existing TiRex and T0 guards. The timecopilot-granite-tsfm dependency is gated with the same Python markers so resolution succeeds on Python 3.10/3.14.

  • Toto compatibility with huggingface-hub 1.x: Toto failed to load under huggingface-hub>=1 (Toto._from_pretrained() missing 2 required keyword-only arguments: 'proxies' and 'resume_download'). Fixed in timecopilot-toto>=0.1.7, which no longer requires those arguments. Toto (1.0) and Toto-2 now load correctly under transformers 5.

  • TimesFM 2.5 compatibility with huggingface-hub 1.x: TimesFM (2.5) failed to load under huggingface-hub>=1 (TimesFM_2p5_200M_torch._from_pretrained() missing 2 required keyword-only arguments: 'proxies' and 'resume_download'). Fixed in timecopilot-timesfm>=0.3.0, which re-syncs the TimesFM 2.5 source with upstream (dropping those arguments and migrating to PyTorchModelHubMixin). TimesFM now loads correctly under transformers 5.


Full Changelog: v0.0.28...v0.0.29

v0.0.28

18 Jun 01:49
f302b8b

Choose a tag to compare

Features

  • T0 foundation model: Added support for T0, an open-weights time series foundation model from The Forecasting Company. Use it via the T0 class. 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-tirex to >=0.1.1 and updated the TiRex integration 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, moved ray to the distributed optional extra, and removed wandb from core dependencies to reduce install conflicts. See #355.

New Contributors


Full Changelog: v0.0.27...v0.0.28

v0.0.27

04 Jun 18:42
e6b0f08

Choose a tag to compare

Features

  • Toto 2.0 support: The Toto class 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) as repo_id and 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 requested quantiles/level are 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, and Datadog/Toto-2.0-2.5B.

Documentation

  • Toto family example: Added the Toto Family notebook, comparing Toto 1.0, Toto 2.0, Prophet, AutoARIMA, and SeasonalNaive. See #343.

Full Changelog: v0.0.26...v0.0.27

v0.0.26

02 Jun 00:22
436cf2b

Choose a tag to compare

Features

  • New neural models: Added 3 new auto neural models: AutoNBEATS, AutoDeepAR, and AutoPatchTST. All support quantiles for probabilistic forecasts trained with MQLoss and follow the same interface as the existing AutoNHITS and AutoTFT. 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, and AutoCatboost. All models support quantiles for probabilistic forecasts via conformal prediction and follow the same interface as the existing AutoLGBM. 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 quantiles parameter. Pass a list of floats between 0 and 1 to receive additional output columns named model-q-{percentile}. Note that level is not supported for these models; use quantiles instead. See #336.

    • AutoLGBM computes prediction intervals via conformal prediction using cross-validation residuals.
    • AutoNHITS and AutoTFT are trained with MQLoss when 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


Full Changelog: v0.0.25...v0.0.26

release: v0.0.25 (#333)

07 Apr 21:08
abd1239

Choose a tag to compare

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_steps values via cross-validation. See #326.

Full Changelog: v0.0.24...v0.0.25

relase: v0.0.24 (#324)

17 Mar 06:35
4ef04eb

Choose a tag to compare

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 PatchTSTFM class. 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 bfloat16 to float32 for 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.md and 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_hub to v0.36.2. See #300.

New Contributors


Full Changelog: v0.0.23...v0.0.24

release: v0.0.23 (#296)

27 Jan 01:52
1386d52

Choose a tag to compare

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:

    • LLM providers example notebook. See #263.
    • AWS Bedrock example with updated query call. See #274 and #276.
    • Google LLM endpoint example. See #287.
  • 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


Full Changelog: v0.0.22...v0.0.23

v0.0.22

06 Nov 18:17
f49c5e0

Choose a tag to compare

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:0 instead of gpu for 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


Full Changelog: AzulGarza/timecopilot@v0.0.21...v0.0.22

v0.0.21

28 Oct 00:31
1cf7bfd

Choose a tag to compare

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

09 Oct 03:47
2e41ab3

Choose a tag to compare

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


Full Changelog: AzulGarza/timecopilot@v0.0.19...v0.0.20