adtk
A package for unsupervised time series anomaly detection
What it is and what it does
ADTK is a Python library for detecting anomalies in time series data using unsupervised and rule-based methods. It provides a collection of detector algorithms, feature transformers, and ensemble aggregators that can be combined via pipe classes into complete anomaly detection models. The package also includes utilities for time series visualization and anomaly event processing.
The library is designed around the principle that no single anomaly detection algorithm works universally—instead, it offers building blocks with unified APIs so you can select and combine the right detectors, transformers, and aggregators for your specific problem. It depends on numpy, pandas, scikit-learn, statsmodels, and matplotlib for its core functionality.
Use it for:
- Detect sudden spikes or drops in sensor data or system metrics without labeled training data.
- Identify unusual patterns in financial time series using statistical rules.
- Flag anomalous behavior in network traffic or application performance logs.
- Combine multiple detection algorithms to improve sensitivity and reduce false positives in critical monitoring.
- Visualize detected anomalies alongside raw time series data for manual review and validation.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
ADTK provides detectors, transformers, and aggregators for unsupervised and rule-based time series anomaly detection, with unified APIs and pipe classes to combine them into detection models.
Yes, if you need unsupervised time series anomaly detection and can accept dormant maintenance. The package is stable (Production/Stable status), has no known vulnerabilities, and low install friction. However, the last release was 2020-04-17; evaluate whether the detectors and dependencies meet your current needs before committing to it in new projects.
Install
adtk on PyPI
pip
pip install adtkuv
uv add adtkpoetry
poetry add adtkInstalling adtk
Before you install
Low install friction with a pure-Python wheel and well-established dependencies. However, the package is dormant—last release was 2020-04-17, with no recent maintenance activity despite an active repository.
License in practice
Licensed under Mozilla Public License 2.0 (MPL 2.0), a copyleft license requiring derivative works and modifications to be distributed under the same license. Review your project's license compatibility before use.
Quickstart
pip install adtk
from adtk.detector import ThresholdAD
import pandas as pd
detector = ThresholdAD(high=3.0)
anomalies = detector.detect(time_series)
Requires Python 3.5 or later; depends on numpy, pandas, scikit-learn, and statsmodels being installed.
Verify before relying
- Whether the package's detectors and transformers remain effective on modern time series data given dormant maintenance.
- Compatibility with Python versions beyond 3.8, which was the latest tested version at release.
Package facts
| License | Mozilla Public License 2.0 (MPL 2.0) (copyleft) |
| Python support | supports the current Python release (>=3.5) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 7 — numpy, pandas, matplotlib, scikit-learn, statsmodels, packaging, tabulate |
| Maintenance | dormant — 2,310 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 522,859/month — #6,199 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: adtk-0.6.2-py3-none-any.whl
Keywords: anomaly detection, time series
Tags
More Scientific/Engineering packages
NumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
pandaspandas provides fast, flexible data structures…
permissive · top 100 on PyPI
scipyscipy provides numerical algorithms for…
permissive · top 100 on PyPI
scikit-learnscikit-learn provides a comprehensive Python…
permissive · top 1,000 on PyPI
dilldill extends Python's pickle module to…
permissive · top 1,000 on PyPI
multiprocessMultiprocess is an enhanced fork of Python's…
permissive · top 1,000 on PyPI
dartsDarts provides forecasting and anomaly…
permissive · top 15,000 on PyPI
sktimesktime provides a unified interface for time…
permissive · top 5,000 on PyPI
pyodPyOD detects anomalies and outliers across…
permissive · top 5,000 on PyPI
anomaloProvides a Python client library and…
permissive · top 15,000 on PyPI
alibi-detectAlibi Detect provides outlier, adversarial, and…
unclear · top 15,000 on PyPI
nixtlaPython SDK for accessing TimeGPT, a foundation…
permissive · top 15,000 on PyPI
pypotsPyPOTS provides machine learning algorithms for…
permissive · top 15,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
feature-engineFeature-engine provides transformers for…
permissive · top 15,000 on PyPI