// the find
yzhao062/pyod
A Python library for anomaly detection across tabular, time series, graph, text, and image data. 60+ detectors, benchmark-backed ADEngine orchestration, and an agentic workflow for AI agents.
PyOD is the standard Python library for anomaly detection, covering tabular, time series, graph, and multimodal data under a single sklearn-compatible API. Version 3 adds ADEngine (automatic detector selection and orchestration) and an agentic layer that lets Claude Code or MCP clients drive investigations in natural language. The classic fit/predict API is unchanged, so existing code keeps working.
61 detectors across modalities with a consistent API — switching from IForest to ECOD to a graph GCN is a one-line change. ADEngine's benchmark-backed routing (ADBench, TSB-AD, BOND) picks detectors based on actual empirical results rather than vibes. The agentic layer is genuinely useful: the od-expert skill installs as a Claude Code skill, not a chatbot wrapper, so you get structured multi-turn investigation with real PyOD calls underneath. 38M downloads and deployments at Walmart, Databricks, and ESA telemetry mean the core detectors are battle-tested beyond academic toy datasets.
The agentic and ADEngine layers are v3 additions built on top of a 2017 codebase, and the seams show — the MCP server defers stateful investigate/iterate tools, so you can't actually run a multi-turn session over MCP yet (only through the Claude-specific skill). Graph detectors are transductive only; no out-of-sample predict means you can't deploy them in a streaming or online setting without re-fitting. Dependency sprawl is real: graph support pulls in PyTorch Geometric, deep learning models pull in PyTorch, embeddings pull in sentence-transformers or HuggingFace — a full install is heavy, and the optional extras are not always well-documented for edge cases. Time series support is thin compared to the tabular side — seven detectors versus 50+, and AnomalyTransformer is marked experimental.