darts
A python library for easy manipulation and forecasting of time series.
What it is and what it does
Darts is a time series forecasting and anomaly detection library that unifies classical statistical models (ARIMA, exponential smoothing) and modern deep learning approaches under a single scikit-learn-compatible interface. It handles univariate and multivariate series, supports probabilistic forecasting with confidence intervals, and enables training on multiple series simultaneously.
The library's anomaly detection module wraps forecasting models and integrates PyOD scorers to detect outliers in time series. It also supports external covariates (past-observed and future-known), static metadata, hierarchical reconciliation, and conformal prediction for calibrated uncertainty quantification. The core TimeSeries object abstracts data handling, making it straightforward to preprocess, split, and backtest models.
Use it for:
- Forecast demand, sales, or resource usage over time using ARIMA, exponential smoothing, or neural networks.
- Detect anomalies in sensor data, system metrics, or financial time series using k-means or other scorers.
- Train a single model on multiple related time series (e.g., sales across stores) to improve generalization.
- Generate probabilistic forecasts with quantile intervals for risk-aware decision-making.
- Combine predictions from multiple models to reduce forecast error through ensemble methods.
- Incorporate external variables (weather, promotions) as past or future covariates to improve predictions.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Darts provides forecasting and anomaly detection for time series using a unified scikit-learn-style API, supporting classical models like ARIMA, deep neural networks, multivariate series, and probabilistic predictions.
Yes. Darts is actively maintained, widely used (top 15000 on PyPI), has no known vulnerabilities, and offers a comprehensive, production-ready toolkit for time series forecasting and anomaly detection. The scikit-learn-style API and support for both classical and deep learning models make it suitable for both prototyping and deployment. The 18 dependencies are standard ML libraries, not exotic or risky.
Install
darts on PyPI
pip
pip install dartsuv
uv add dartspoetry
poetry add dartsInstalling darts
Before you install
Low friction installation with a pure-Python wheel. Active maintenance with recent releases; 18 runtime dependencies including numpy, pandas, scikit-learn, and scipy suggest a mature ML stack. Requires Python 3.10+.
License in practice
Apache-2.0 (permissive) allows commercial and private use with minimal restrictions; you must include a copy of the license and state significant changes.
Quickstart
pip install darts
from darts import TimeSeries
from darts.models import ExponentialSmoothing
import pandas as pd
df = pd.read_csv("data.csv")
series = TimeSeries.from_dataframe(df, "time_col", "value_col")
train, val = series[:-36], series[-36:]
model = ExponentialSmoothing()
model.fit(train)
prediction = model.predict(len(val))
Requires Python 3.10 or later; numba and llvmlite are runtime dependencies that may require a C compiler on some systems.
Verify before relying
- Whether all 18 runtime dependencies are strictly required for basic forecasting or if some are optional for specific models.
- Performance characteristics when training on large multivariate datasets or with deep learning models.
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 18 — holidays, joblib, matplotlib, narwhals, nfoursid, numpy, pandas, pyod, requests, scikit-learn, scipy, shap, statsmodels, tqdm, typing-extensions, xarray, numba, llvmlite |
| Maintenance | actively maintained — 25 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 299,040/month — #7,864 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: darts-0.46.1-py3-none-any.whl
Keywords: time series, forecasting
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
adtkADTK provides detectors, transformers, and…
copyleft · top 15,000 on PyPI
pmdarimaPmdarima provides automated ARIMA time series…
permissive · top 5,000 on PyPI
u8dartsu8darts is a deprecated compatibility shim that…
permissive · top 15,000 on PyPI
hampelHampel detects and filters outliers in…
permissive · top 15,000 on PyPI
riverRiver provides online machine learning…
permissive · top 15,000 on PyPI
pytorch-forecastingPyTorch Forecasting provides neural network…
permissive · top 15,000 on PyPI
gluontsGluonTS provides deep learning models for…
permissive · top 5,000 on PyPI
statsforecastStatsForecast provides fast implementations of…
permissive · top 5,000 on PyPI
sktimesktime provides a unified interface for time…
permissive · top 5,000 on PyPI
fevfev is a lightweight benchmarking library for…
permissive · top 15,000 on PyPI