// the find
unit8co/darts
A python library for user-friendly forecasting and anomaly detection on time series.
Darts is a Python time series library that wraps everything from ARIMA to TFT behind a single scikit-learn-style fit/predict interface. It targets data scientists who want to benchmark multiple forecasting approaches without rewriting boilerplate for each one. The anomaly detection module is a genuine bonus, not an afterthought.
Unified API across ~30 models means you can swap ARIMA for N-BEATS or LightGBM in one line — useful for benchmarking without refactoring. Probabilistic forecasting is first-class: quantile intervals, sampled distributions, and conformal prediction wrappers all work the same way across supported models. Foundation model wrappers (Chronos2, TimesFM, TiRex, PatchTST) mean you can run zero-shot forecasting without leaving the library. The covariate system — past-observed, future-known, static — is well-thought-out and covers the messy real-world cases where you have external signals at different lags.
The install story is painful: full `pip install darts` pulls in PyTorch, statsforecast, and half the Python ML ecosystem; the modular `u8darts` packages help but add friction for newcomers who just want ARIMA. Local statistical models (ARIMA, ExponentialSmoothing) cannot train on multiple series — they're per-series only, which is a hard wall you'll hit once your dataset grows. The `TimeSeries` abstraction, while powerful, is a non-standard container that doesn't compose naturally with standard pandas/polars pipelines — you're in Darts' world or you're not. GPU utilization for the deep learning models is only as good as PyTorch Lightning's defaults; there's no built-in distributed training story for genuinely large datasets.