PyOD 3: Agentic Anomaly Detection Library

A comprehensive Python library for anomaly detection across tabular, time series, graph, text, image, and audio data, with 60+ detectors and agentic workflows.

Source repo
yzhao062/pyod
Stars
★ 10k
Last updated
7d ago
License
BSD-2-Clause
Primary language
Python

At a glance

How it runs
Library / SDKCLIMCP server
Works with
Universal · cross-platformCodex · Claude CodeOpenAI API (Partial support)
Cost
Free, no paid service needed
Setup effort
Medium · a few setup steps
You'll need
PythonpipShell / CLINetwork accessLocal filesystemMCP Server
Typical use
Data scientists use the classic API to quickly detect outliers in tabular data with minimal code.
Not a fit if
  • Teams wanting zero-config use without installing skills or MCP
  • Use cases needing out-of-sample prediction from graph detectors
  • Users needing stateful MCP investigate/iterate tools, deferred for now

What does this agent do, and when should you use it?

PyOD is the most comprehensive and widely-used Python library for anomaly detection, with over 46 million downloads since its inception in 2017. PyOD 3 introduces ADEngine (lifecycle orchestration core) and the od-expert skill, enabling agents to drive anomaly detection investigations through natural conversation. The library includes 61 detectors covering tabular, time series, graph, text, image, and audio data, with benchmark-backed routing from ADBench, TSB-AD, BOND, and NLP-ADBench. The classic fit/predict API remains fully backward-compatible, while new MCP server and CLI tools provide agent integration paths.

PyOD 3 offers three layers of use: Classic API (manual detector selection), ADEngine (automatic detector selection, comparison, and assessment), and Agentic Investigation (natural language-driven). The library includes 61 detectors across tabular, time series, graph, text, image, and audio data, with a unified API. ADEngine orchestrates the full lifecycle from raw data to explained anomalies and next-step guidance. The od-expert skill integrates with Claude Code and Codex, converting natural language requests into ADEngine workflows. The MCP server (python -m pyod.mcp_server) exposes ten stateless tools spanning knowledge queries (list_detectors, explain_detector, compare_detectors, get_benchmarks), planning (profile_data, plan_detection, build_detector), and detection (run_detection, analyze_results, explain_findings). Additionally, the pyod CLI (pyod info, pyod install skill, pyod mcp serve) supports installation and diagnostics.

  1. Data scientists use the classic API to quickly detect outliers in tabular data with minimal code.
  2. Machine learning engineers use ADEngine to auto-select the best detector and benchmark performance.
  3. DevOps engineers integrate anomaly detection into monitoring pipelines via CLI or MCP.
  4. AI agents (e.g., Claude Code, Codex) use the od-expert skill for data quality checks and troubleshooting.
  5. Researchers reproduce benchmark experiments using PyOD's 61 detectors.
  6. Business analysts use MCP tools to analyze business data anomalies.

How do you install or deploy this agent?

Install the core library via pip: pip install pyod. Then choose the activation path for your agent stack: 1) Claude Code or Codex: run pyod install skill (user-global) or pyod install skill --project (project-local); 2) MCP-compatible systems: install pyod[mcp] and run pyod mcp serve; 3) Pure Python: no extra steps.

How do you use this agent?

Example with Isolation Forest:

from pyod.models.iforest import IForest
clf = IForest()
clf.fit(X_train)
y_train_scores = clf.decision_scores_
y_test_scores = clf.decision_function(X_test)

For agentic path, run pyod info to see version and activation status.

What are this agent's strengths and limitations?

Pros
  • Multi-modal: supports tabular, time series, graph, text, image, and audio data with a single API.
  • Agent-ready: od-expert skill and MCP server enable natural language-driven investigations.
  • Widely adopted: 46M+ downloads, benchmark-backed, enterprise deployments (e.g., Walmart, Databricks).
Limitations
  • Some advanced features (e.g., stateful MCP tools) are deferred to future releases.
  • Installation and activation involve multiple steps and dependencies on agent runtimes.
  • Graph detectors are typically transductive, not supporting out-of-sample prediction.

How does this agent compare with similar options?

Key facts side by side with the most closely related agents.

Agent Source review Form / cost Stars Updated Language Full support on
PyOD 3: Agentic Anomaly Detection Library This agent 52 · Major gaps Library / SDKFree ★ 10k 7d ago Python Codex · Claude Code
OpenChatBI — Conversational BI Agent 66 · Some gaps Library / SDKFree + model costs ★ 667 1d ago Python OpenAI API · Claude API
Nixtla TimeGPT-1 0 · Major gaps Library / SDKFree + model costs ★ 4k 3d ago Jupyter Notebook —
SimpleMem: Efficient Lifelong Memory for LLM Agents 43 · Major gaps Library / SDKFree + model costs ★ 3.8k 2mo ago Python ChatGPT · Claude Code

How does FollowAgents rate this agent?

FollowAgents source review · FARS-2.1
Major gaps
52/ 100 5-point scale 2.6 / 5
This review covers the source as of Aug 09, 2026. The project has shipped 3 stable release(s) since, which have not been re-reviewed. The score and verdict describe the reviewed version only. Recent releases ↓
Trust 0/29
Reliability 8/14
Adaptability 14/18
Convention 15/18
Effectiveness 10/13
Verifiability 5/8
Why each dimension lost points
Trust0 / 29 · 0.0/5

Evidence shows the repository includes a security policy (SECURITY.md) and CodeQL workflow, but no specific implementation of least privilege, user confirmation, data flow transparency, sensitive data handling, dependency security audit, external effects control, rollback mechanisms, or source attribution. Therefore all trust criteria score 0.

Reliability8 / 14 · 2.9/5

Self-consistency: README, pyproject.toml, and test configuration are largely consistent in version numbers, dependencies, and feature descriptions, but there are minor inconsistencies (e.g., README claims 61 detectors, pyproject description says 61, but code may differ). Dependency availability: requirements.txt lists core dependencies but lacks version pinning or integrity checks. Failure messages: No explicit error handling or user-friendly failure messages are documented in tests or docs.

Adaptability14 / 18 · 3.9/5

Audience and scenarios: README details multiple usage scenarios (classic API, ADEngine, Agentic) and provides installation instructions for different agent stacks. Capability boundaries: Documentation lists supported modalities and detector counts but does not specify applicability conditions or limitations for each detector. Trigger precision: Clear API and CLI entry points are provided, but trigger conditions are not detailed. Environment fit: Supports multiple Python versions and OSes, but specific environment limitations are not mentioned.

Convention15 / 18 · 4.2/5

Information architecture: README is well-structured with TOC, API reference, benchmarks, etc. Install notes: Detailed installation steps and multiple installation methods are provided. Naming stability: API naming is consistent, but naming conventions are not explicitly documented. Examples and FAQ: Extensive examples and documentation links are provided, but no FAQ section. Known limitations: Documentation mentions macOS torch performance issues but does not comprehensively list all limitations. License: BSD-2-Clause license is clear. Versioning changelog: CHANGES.txt link is provided but not directly visible in the repository. Maintenance responsibility: Author information is clear, but maintenance responsibilities are not specified.

Effectiveness10 / 13 · 3.8/5

Output usability: Clear APIs and examples are provided, but output format standardization is not documented. Marginal value: As a widely used library, it provides significant marginal value. Cost-benefit: No detailed analysis of performance or resource consumption is provided.

Verifiability5 / 8 · 3.1/5

Claim traceability: Claims in README (e.g., download counts, benchmarks) have external links but no specific data. Cross-source corroboration: Multiple external benchmarks and publications are cited, but independent verification is not provided. Fact-inference separation: Documentation distinguishes facts (e.g., algorithm lists) from inferences (e.g., performance claims), but not explicitly labeled.

Risks and how to mitigate them
  • Not found in source: least-privilege scopingGrant only what the task needs: a dedicated account or read-only token, scoped to specific directories and repos.
  • Not found in source: confirmation before actingTurn on (or add) a confirmation step before it acts, and try it in a sandbox or test environment before real data.
  • Not found in source: data-flow disclosureWatch which external services it contacts (proxy or firewall logs) and keep sensitive data out until you know where it goes.
  • Not found in source: sensitive-data handlingUse dedicated, low-privilege, revocable API keys — never production credentials — and keep secrets out of logs.
  • Not found in source: dependency securityPin versions and run a dependency audit (npm audit, pip-audit) before installing; prefer running it in a container.
  • Not found in source: disclosed external effectsEstablish which external systems it writes to, sends to or changes, and verify with test accounts or repos before production.
  • Not found in source: rollback or recovery pathBack up first, or work on a git branch or snapshot, so its changes can be undone.
  • Not found in source: verifiable attributionInstall from the official repo or registry and check the publisher and URL to avoid look-alike packages.
  • No least privilege, user confirmation, or data flow transparency mechanisms are evident; caution is advised when using as an Agent product.
  • Dependencies are not version-pinned, posing supply chain risks.
  • Claims about detector counts and performance lack specific data support.
Evidence confidence: Low Reviewed Aug 09, 2026 Reviewed revision 3d0169a32ab8 New commits since this review; the score may not cover them
See the full review method →

Recent releases

Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.

  1. v3.6.7
    Release notes excerpt
    PyOD 3.6.7 A maintenance release with input-validation and estimator-contract fixes, plus a new contribution process. No new detector or dependency is introduced. Bug Fixes - ABOD: cast non-float numeric input (integer lists and DataFrames, bool, float16) to float64 before the Numba angle kernel, which previously raised a TypingError. Scores for float32 and float64 input are unchanged. [#766](https://github.com/yzhao062/pyod/pull/766); the crash was reported earlier in #290 and #450. …
    View on GitHub ↗
  2. v3.6.6
    Release notes excerpt
    PyOD 3.6.6 A maintenance release focused on estimator compatibility, numerical correctness, and documentation. No new detector or dependency is introduced. Bug fixes - LOCI: preserve the constructor parameter k for cloning and use contamination to derive the fitted threshold and binary labels. k still controls the radius-scan early stop. [#707](https://github.com/yzhao062/pyod/pull/707), fixes [#194](https://github.com/yzhao062/pyod/issues/194). …
    View on GitHub ↗
  3. v3.6.5
    Release notes excerpt
    Three contributor bug fixes, plus maintainer follow-ups from a two-panel review and two rounds of /implement-review. Fixes generate_data produced anomaly-free benchmarks for about one seed in ten (#706 by @Mohit-Ak, closes #141). The internal offset was drawn with randint(low=offset), which returns 0 roughly one time in ten for the default offset=10. Every labelled outlier then landed exactly on the origin. Over seeds 0 to 500, 46 of 501 integer random_state values produced an outlier block with exactly zero per-feature variance. KNN scored roc_auc of exactly 0.0 on seeds …
    View on GitHub ↗

FAQ

What changes for existing users of the classic API?
The classic fit/predict API is fully backward-compatible; existing code runs without modification.
What are the installation steps for the od-expert skill?
First install the core library, then run pyod install skill (for Claude Code user-global) or pyod install skill --project (for Codex project-local).
Does the MCP server support stateful investigations?
Currently, only stateless tools are provided; stateful investigate/iterate tools are deferred.
Does PyOD support text and image anomaly detection?
Yes, via EmbeddingOD with foundation model encoders, supporting text, image, and audio data.
View on GitHub ↗ Install ↓

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.

Related agents