Skip to content
Merged
Show file tree
Hide file tree
Changes from 40 commits
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
22ff574
Add TiRex model integration (tirex-ts)
lukfischer Feb 13, 2026
344e67e
Add TiRexModel foundation wrapper with explicit license acceptance
lukfischer Feb 16, 2026
2798c0b
added TiRex to models __init__.py
lukfischer Feb 16, 2026
d9e0f52
removed chuncks from tests
lukfischer Feb 16, 2026
1cdda58
updated readme
lukfischer Feb 24, 2026
1f2c77c
update to re-introduce input and outpout chunks
lukfischer Feb 25, 2026
201c387
feat(tirex): harden TiRex integration, docs, and tests
lukfischer Feb 25, 2026
6890270
removed local_dir reference in notebook; reverted .gitignore
lukfischer Mar 16, 2026
704daec
Merge branch 'master' into feature/tirex-integration
daidahao Mar 21, 2026
726a366
Rename notebook
daidahao Mar 21, 2026
a896235
Format model docstring
daidahao Mar 21, 2026
6889d18
Conform to Darts signature
daidahao Mar 21, 2026
033962f
Add back TFM docstring
daidahao Mar 21, 2026
33998dd
Ensure TiRex and PLM on same device
daidahao Mar 21, 2026
7dede03
Fold multivariate into batch dimension
daidahao Mar 21, 2026
089d8b1
Add tirex as optional dep for development
daidahao Mar 21, 2026
ad7d252
Optional `hf_kwargs` handling
daidahao Mar 21, 2026
fb0a27a
Update examples in docstring
daidahao Mar 21, 2026
c1c3a06
Remove type comments
daidahao Mar 21, 2026
7cee55e
Update docs to conform to Darts style
daidahao Mar 21, 2026
2a2055d
Fix a bug for `enable_finetuning` argument
daidahao Mar 21, 2026
2d5eb5f
Fine-tuning not supported by TiRex
daidahao Mar 21, 2026
76dd98f
Add CHANGELOG entry
daidahao Mar 21, 2026
b523a2d
Merge branch 'master' into feature/tirex-integration
daidahao Mar 22, 2026
cf624d0
Fix doc format
daidahao Mar 22, 2026
3ea46c5
Include notebook in merge workflow
daidahao Mar 22, 2026
2e82bde
Remove `model_name` from docstring
daidahao Mar 23, 2026
d5c27c0
Add `TIREX_AVAILABLE` flag for tests
daidahao Mar 23, 2026
a6af7aa
Fix output_device
martinloretzzz Mar 25, 2026
16cb0b2
Update unit tests
daidahao Mar 25, 2026
b61676d
Merge branch 'master' into feature/tirex-integration
daidahao Mar 25, 2026
ca0bed9
Remove duplicated CHANGELOG entries
daidahao Mar 25, 2026
4acd809
Add test_fidelity (probabilistic and deterministic) to TestTiRexModel,
lukfischer Mar 26, 2026
953caed
Merge branch 'master' into feature/tirex-integration
daidahao Mar 26, 2026
d5dfa68
Use plotly for interactive plots
daidahao Mar 26, 2026
6657f97
Merge branch 'master' into feature/tirex-integration
daidahao Mar 27, 2026
1337cb6
Merge branch 'master' into feature/tirex-integration
daidahao Mar 28, 2026
9ff9b8e
Update fidelity test
daidahao Mar 27, 2026
a0cf12b
Merge branch 'master' into feature/tirex-integration
daidahao Mar 31, 2026
a906d0c
Fix prediction_length in fidelity test
daidahao Mar 31, 2026
15130bc
Merge branch 'master' into feature/tirex-integration
daidahao Apr 9, 2026
1bae94e
Remove notebook
daidahao Apr 9, 2026
c934088
Remove `_require_tirex()`
daidahao Apr 9, 2026
4d195fd
Minor updates
daidahao Apr 9, 2026
d2ca2f1
Simplify tirex kwargs
daidahao Apr 9, 2026
d82b6f4
Update chronos 2 notebook
daidahao Apr 9, 2026
b35d96e
Update install guide
daidahao Apr 9, 2026
a95bad1
Update tests
daidahao Apr 9, 2026
657a1b4
Merge branch 'master' into feature/tirex-integration
daidahao Apr 10, 2026
3d6a020
Relax tirex-ts py bound
daidahao Apr 10, 2026
cd44207
Update docstring examples for `accept_license`
daidahao Apr 10, 2026
da21093
Increase fidelity tolerance
daidahao Apr 12, 2026
b001d2b
Merge branch 'master' of https://github.com/daidahao/darts into pr/lu…
daidahao Apr 12, 2026
50f935c
Merge branch 'master' into feature/tirex-integration
daidahao Apr 12, 2026
69d3b82
feat(TiRexModel): add partial fine-tuning support and clean up module…
lukfischer Apr 20, 2026
e8abf96
Merge branch 'master' into feature/tirex-integration
dennisbader Apr 23, 2026
1a02b22
minor updates to make everything ready
dennisbader Apr 23, 2026
95d3c1a
Merge branch 'master' into feature/tirex-integration
dennisbader Apr 23, 2026
5903e09
Merge branch 'feature/tirex-integration' into feature/tirex-integrati…
dennisbader Apr 23, 2026
cb711c2
Merge pull request #1 from unit8co/feature/tirex-integration-finaliza…
dennisbader Apr 23, 2026
d8f12cf
Merge branch 'master' into feature/tirex-integration
dennisbader Apr 25, 2026
3010b8d
Merge branch 'master' into feature/tirex-integration
dennisbader Apr 27, 2026
5d58d7f
rename chronos notebook to foundation model notebook
dennisbader Apr 30, 2026
40c9328
makefoundation model notebook content generic
dennisbader Apr 30, 2026
e03889a
Merge pull request #2 from unit8co/feature/tirex-integration-wrapup
dennisbader Apr 30, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/merge.yml
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
example-name: [00-quickstart.ipynb, 01-multi-time-series-and-covariates.ipynb, 02-data-processing.ipynb, 03-FFT-examples.ipynb, 04-RNN-examples.ipynb, 05-TCN-examples.ipynb, 06-Transformer-examples.ipynb, 07-NBEATS-examples.ipynb, 08-DeepAR-examples.ipynb, 09-DeepTCN-examples.ipynb, 10-Kalman-filter-examples.ipynb, 11-GP-filter-examples.ipynb, 12-Dynamic-Time-Warping-example.ipynb, 13-TFT-examples.ipynb, 15-static-covariates.ipynb, 16-hierarchical-reconciliation.ipynb, 18-TiDE-examples.ipynb, 19-EnsembleModel-examples.ipynb, 20-SKLearnModel-examples.ipynb, 21-TSMixer-examples.ipynb, 22-anomaly-detection-examples.ipynb, 23-Conformal-Prediction-examples.ipynb, 24-SKLearnClassifierModel-examples.ipynb, 25-Chronos-2-examples.ipynb, 26-NeuralForecast-examples.ipynb, 27-Torch-and-Foundation-Model-Fine-Tuning-examples.ipynb]
example-name: [00-quickstart.ipynb, 01-multi-time-series-and-covariates.ipynb, 02-data-processing.ipynb, 03-FFT-examples.ipynb, 04-RNN-examples.ipynb, 05-TCN-examples.ipynb, 06-Transformer-examples.ipynb, 07-NBEATS-examples.ipynb, 08-DeepAR-examples.ipynb, 09-DeepTCN-examples.ipynb, 10-Kalman-filter-examples.ipynb, 11-GP-filter-examples.ipynb, 12-Dynamic-Time-Warping-example.ipynb, 13-TFT-examples.ipynb, 15-static-covariates.ipynb, 16-hierarchical-reconciliation.ipynb, 18-TiDE-examples.ipynb, 19-EnsembleModel-examples.ipynb, 20-SKLearnModel-examples.ipynb, 21-TSMixer-examples.ipynb, 22-anomaly-detection-examples.ipynb, 23-Conformal-Prediction-examples.ipynb, 24-SKLearnClassifierModel-examples.ipynb, 25-Chronos-2-examples.ipynb, 26-NeuralForecast-examples.ipynb, 27-Torch-and-Foundation-Model-Fine-Tuning-examples.ipynb, 28-TiRex-examples.ipynb]
Comment thread
dennisbader marked this conversation as resolved.
Outdated
steps:
- name: "Clone repository"
uses: actions/checkout@v4
Expand Down
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ but cannot always guarantee backwards compatibility. Changes that may **break co
[Full Changelog](https://github.com/unit8co/darts/compare/0.43.0...master)

### For users of the library:
- 🚀🚀 Added new forecasting model `TiRexModel`: NX-AI's 35M-parameter pre-trained foundational model for zero-shot forecasting. It supports univariate, multivariate, and multiple time series forecasting without training and can output deterministic or probabilistic forecasts. [#3038](https://github.com/unit8co/darts/pull/3038) by [Lukas Fischer](https://github.com/lukfischer) and [Zhihao Dai](https://github.com/daidahao).
Comment thread
lukfischer marked this conversation as resolved.
Outdated
- Check out the new [TiRex Foundation Model Notebook](https://unit8co.github.io/darts/examples/28-TiRex-examples.html) for examples and usage of TiRex.
Comment thread
lukfischer marked this conversation as resolved.
Outdated

- Added native multi-quantile support for `CatBoostModel` by using CatBoost’s `MultiQuantile` loss for faster training and inference. Set `likelihood="multiquantile"` to enable this feature. [#3032](https://github.com/unit8co/darts/pull/3032) by [Zhihao Dai](https://github.com/daidahao)

Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -277,6 +277,7 @@ Here's a breakdown of the forecasting models currently implemented in Darts. Our
| **Foundation Models**<br/>([GlobalForecastingModel](https://unit8co.github.io/darts/userguide/covariates.html#global-forecasting-models-gfms)): No training required | | | | | |
| [Chronos2Model](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.chronos2_model.html#darts.models.forecasting.chronos2_model.Chronos2Model) | [Chronos-2 report](https://arxiv.org/abs/2510.15821), [Amazon blog post](https://www.amazon.science/blog/introducing-chronos-2-from-univariate-to-universal-forecasting) | ✅ ✅ | ✅ ✅ 🔴 | ✅ ✅ | ✅ |
| [TimesFM2p5Model](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.timesfm2p5_model.html#darts.models.forecasting.timesfm2p5_model.TimesFM2p5Model) | [TimesFM 1.0 paper](https://arxiv.org/abs/2310.10688), [Google blog post](https://research.google/blog/a-decoder-only-foundation-model-for-time-series-forecasting) | ✅ ✅ | 🔴 🔴 🔴 | ✅ ✅ | ✅ |
| [TiRexModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.tirex_model.html#darts.models.forecasting.tirex_model.TiRexModel) | [TiRex paper](https://arxiv.org/abs/2505.23719), [TiRex Github](https://github.com/NX-AI/tirex) | ✅ ✅ | 🔴 🔴 🔴 | ✅ ✅ | ✅ |
| **Ensemble Models**<br/>([GlobalForecastingModel](https://unit8co.github.io/darts/userguide/covariates.html#global-forecasting-models-gfms)): Model support is dependent on ensembled forecasting models and the ensemble model itself | | | | | |
| [NaiveEnsembleModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.baselines.html#darts.models.forecasting.baselines.NaiveEnsembleModel) | | ✅ ✅ | ✅ ✅ ✅ | ✅ ✅ | ✅ |
| [RegressionEnsembleModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.regression_ensemble_model.html#darts.models.forecasting.regression_ensemble_model.RegressionEnsembleModel) | | ✅ ✅ | ✅ ✅ ✅ | ✅ ✅ | ✅ |
Expand Down
13 changes: 11 additions & 2 deletions darts/models/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
A comprehensive collection of forecasting and filtering models, including baseline models
(NaiveSeasonal, NaiveMovingAverage, ...), statistical models (ARIMA, exponential smoothing, ...),
machine learning models (LightGBM, CatBoost, sklearn-based, ...), neural network models (RNN,
N-BEATS, TiDE...), and foundation models (Chronos-2, TimesFM 2.5).
N-BEATS, TiDE...), and foundation models (Chronos-2, TimesFM 2.5, TiRex).
"""

from darts.logging import get_logger
Expand Down Expand Up @@ -89,11 +89,19 @@

try:
from darts.models.forecasting.chronos2_model import Chronos2Model
from darts.models.forecasting.timesfm2p5_model import TimesFM2p5Model
except ModuleNotFoundError:
Chronos2Model = NotImportedModule(module_name="(Py)Torch", warn=False)

try:
from darts.models.forecasting.timesfm2p5_model import TimesFM2p5Model
except ModuleNotFoundError:
TimesFM2p5Model = NotImportedModule(module_name="(Py)Torch", warn=False)

try:
from darts.models.forecasting.tirex_model import TiRexModel
except ModuleNotFoundError:
TiRexModel = NotImportedModule(module_name="(Py)Torch", warn=False)
Comment thread
dennisbader marked this conversation as resolved.
Outdated

try:
from darts.models.forecasting.nf_model import NeuralForecastModel
except ModuleNotFoundError:
Expand Down Expand Up @@ -211,5 +219,6 @@
"ConformalQRModel",
"Chronos2Model",
"TimesFM2p5Model",
"TiRexModel",
"NeuralForecastModel",
]
1 change: 1 addition & 0 deletions darts/models/forecasting/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@
Foundation Models (`GlobalForecastingModel <https://unit8co.github.io/darts/userguide/covariates.html#global-forecasting-models-gfms>`__)
- :class:`~darts.models.forecasting.chronos2_model.Chronos2Model`
- :class:`~darts.models.forecasting.timesfm2p5_model.TimesFM2p5Model`
- :class:`~darts.models.forecasting.tirex_model.TiRexModel`
Ensemble Models (`GlobalForecastingModel <https://unit8co.github.io/darts/userguide/covariates.html#global-forecasting-models-gfms>`__)
- :class:`~darts.models.forecasting.baselines.NaiveEnsembleModel`
- :class:`~darts.models.forecasting.regression_ensemble_model.RegressionEnsembleModel`
Expand Down
2 changes: 1 addition & 1 deletion darts/models/forecasting/foundation_model.py
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ def encode_year(idx):
Default: ``None``.
"""
# Set default fine-tuning to False for foundation models
if "enable_finetuning" not in self.model_params:
if self.model_params.get("enable_finetuning", None) is None:
self.model_params["enable_finetuning"] = False

# initialize `TorchForecastingModel` base class
Expand Down
Loading
Loading