github yzhao062/pyod v3.1.0

latest release: v3.2.0
18 hours ago

PyOD 3.1.0 — Skill install UX + agent stack detection

Minor release focused on making the Claude Code od-expert skill install flow self-discoverable, extending agent support to Codex, and tightening the packaging layer. No breaking changes.

What's new

Unified pyod CLI

A new top-level command with three subcommands:

pyod install skill             # Claude Code / Claude Desktop
pyod install skill --project   # Codex (project-local)
pyod info                      # self-diagnostic
pyod mcp serve                 # alias for `python -m pyod.mcp_server`

The legacy pyod-install-skill console script from v3.0.0 still works as an alias and now shares a single code path with pyod install skill.

pyod info self-diagnostic

PyOD version:          3.1.0
Detectors (ADEngine):  61 total (44 tabular, 7 time-series, 8 graph, 3 text, 2 image, 1 multimodal)
Classic API:           OK
ADEngine (Layer 2):    OK
MCP extra:             NOT INSTALLED (install: pip install pyod[mcp])
od-expert skill:       INSTALLED (user-global) at /Users/you/.claude/skills/od-expert/SKILL.md
                       Detected agents: Claude Code, Codex

Detector counts come directly from pyod.utils.knowledge.algorithms (no hardcoded modality list). Agent stack detection checks both ~/.claude/ (Claude Code) and ~/.codex/ (Codex) and prints actionable install commands if the skill is missing.

Codex support

Codex does not have a user-global skill directory like Claude Code. Instead, it reads shared skills from ./skills/<name>/ per project. pyod install skill --project writes exactly there, so a single command enables od-expert for Codex in any project. pyod info reports both Claude Code and Codex when both are detected, with modality-aware install recommendations.

pyod.mcp_server is now safe to import

In v3.0.0, import pyod.mcp_server called sys.exit(1) at import time if the optional mcp extra was missing — this killed any parent process that tried to probe MCP availability. v3.1.0 refactors the module to defer the FastMCP check into a new main() entry point. import pyod.mcp_server is now safe in every install, and pyod info uses this to report MCP availability reliably.

Documentation refactored

The full installation guide is now in docs/install.rst (core install, conda, source, agentic activation paths for Claude Code + Codex + MCP, verification via pyod info). README.rst has a lean quickstart block that links to the full guide instead of duplicating content.

CI hardening

  • packaging-smoke-test job now verifies the unified pyod CLI end-to-end: pyod --help, pyod info, pyod install skill --help/--list/--target/--skill od_expert (with canonical-name assertion that underscore input → hyphen output), and a regression guard that import pyod.mcp_server does not exit in a core install without mcp.
  • 4 rounds of Codex review (/implement-review) on the development branch before merge. All findings addressed.

Install

pip install --upgrade pyod
pyod install skill      # Claude Code / Claude Desktop: enable the od-expert skill
pyod info               # verify everything is wired up

For Codex users:

pip install --upgrade pyod
pyod install skill --project    # writes to ./skills/od-expert/ for project-local pickup
pyod info                       # should show "Detected agents: Codex"

For MCP-compatible agents:

pip install --upgrade pyod[mcp]
pyod mcp serve

Full changelog

See CHANGES.txt for the full v3.1.0 entry.

Don't miss a new pyod release

NewReleases is sending notifications on new releases.