Open source & zero-dependency. Now available on PyPI: pip install drift-watch View on GitHub ›
PyPI Package Continuous Schema Monitoring 100% Real Live Vendors

Catch silent AI API schema drift before it breaks production.

AI vendors change response payloads without major version bumps. drift-watch recursively flattens live JSON into structural dot-path signatures, diffing them to catch missing fields and mutated types instantly.

$ pip install drift-watch
Active Monitored Providers LIVE PRODUCTION FEED
Loading live provider health...
Core Value Proposition

Why Structural Drift Monitoring Matters

Traditional HTTP checks pass when APIs return 200 OK. drift-watch catches the silent schema mutations that break production code.

THE HTTP MONITORING GAP

Blind to Body Mutations

Uptime checkers (Datadog, Better Stack, Pingdom) only test HTTP status codes. If an API endpoint returns 200 OK, traditional monitors mark it green—even if the entire JSON response body structure has changed.

THE SILENT DANGER

200 OK Data Corruption

An AI vendor renames usage.cost to billing.amount or drops a token count field. No HTTP 500 error is thrown, but downstream billing, routing, and analytics silently report null or $0.00 spend.

THE SOLUTION

Continuous Dot-Path Hashing

drift-watch recursively flattens API payloads into structural dot.path: type signatures, diffing them against baselines on continuous schedules to exit code 1 before bad data hits production.

Developer Tooling

Built for Production Workflows: CLI & PyPI

Install globally via pip, run ad-hoc shape inspections, or add driftwatch.yml to gate your CI/CD deployment pipelines.

01 / CLI EXECUTABLE

Ad-Hoc Endpoint Inspection

Flatten any live API payload into a clean dot-path structural type map directly from your terminal:

$ driftwatch --target https://api.groq.com/openai/v1/models
02 / DECLARATIVE SPEC

driftwatch.yml Configuration

Define multi-vendor target endpoints, authorization headers, and baseline file paths in a single spec file.

$ driftwatch check --config driftwatch.yml
03 / CI/CD GATING

Automated Exit 1 Deploy Gate

Integrates natively with GitHub Actions. Exits code 1 on breaking drift to prevent bad deploys.

- run: driftwatch check
bash — driftwatch check
$ driftwatch check --config driftwatch.yml +-----------------------------------------------+ | drift-watch v0.1.0 — Structural Drift Monitor | +-----------------------------------------------+ Reading config from driftwatch.yml... Target Name Endpoint URL Status Drift ────────────────────────────────────────────────────────────────────────── Groq Models https://api.groq.com/openai/v1/models HEALTHY 0% Cohere Models https://api.cohere.com/v1/models HEALTHY 0% Gemini Models https://generativelanguage.googleapis… HEALTHY 0% [OK] All endpoints healthy. No structural schema drift detected. Process finished with exit code 0
System Architecture

End-to-End Monitoring Pipeline

How live API payloads flow through structural dot-path hashing, baseline diffing, and automated CI gating.

LIVE ENGINE WORKFLOW
0.02s Latency Overhead · Zero Dependencies · Continuous CI Gating
01 / SOURCE
Live Provider APIs
Cohere · Groq · Gemini endpoints polled live
02 / POLLER
GitHub Actions
Scheduled cron & manual triggers
03 / ENGINE
Shape Hashing
Flattens JSON into dot.path: type maps
04 / EVALUATOR
Set-Diff Engine
Compares shape against baseline snapshot
05 / ACTION
CI Gate & Webhook
Dispatches alert & exits code 1 on drift
Real-Time Engine

Live Provider Dashboard

100% Real Live Vendor API Data
Directly polled & updated via GitHub Actions
Updating...
Vendor Provider Target Endpoint Schema Status Last Polled Polls Drifts Score
Fetching live API responses...
Interactive Sandbox

Test the Diff Engine

Paste any two JSON objects below to test shape-hashing & diffing in real-time.

Baseline Schema
Current Live Payload
Production Context

Built for Oximy's 6,500+ API Cost Visibility Problem

The Problem

Oximy (YC W26) tracks enterprise AI adoption across thousands of vendor tools. AI vendors regularly update response schemas without major version bumps. If an endpoint drops a usage.cost float or moves it inside a billing dictionary, the API still returns 200 OK. Traditional HTTP monitors pass, while internal pipelines report $0.00 spend — silently corrupting financial data.

The Solution: drift-watch

drift-watch flattens response payloads into structural signatures. By running shape-hashing diffs on continuous schedules in CI/CD, any broken schema is caught instantly before it impacts production logic.

A zero-dependency safeguard for mission-critical AI integrations. See live status ↑