Skip to main content

Real-time data drift detection for machine learning pipelines.

Project description

etsi-watchdog

Real-time data drift detection for machine learning pipelines.

etsi-watchdog is a production-ready Python library for drift detection, version comparison, and real-time monitoring of data streams. Designed for ML practitioners, data scientists, and AI engineers who need reliable data quality insights.

Features

  • PSI-based Drift Detection (more algorithms coming)

  • Rolling Monitoring with time-frequency windowing

  • Version Drift Comparison between model/data snapshots

  • Built-in Visualization & JSON Export

  • Minimal Dependencies & Fast Performance

  • Clear API, suitable for both research and production


Installation

pip install etsi-watchdog

Quickstart

Drift Detection

from etsi.watchdog import DriftCheck
import pandas as pd

ref = pd.read_csv("reference.csv")
live = pd.read_csv("current.csv")

check = DriftCheck(ref)
results = check.run(live, features=["age", "salary"])

for feat, result in results.items():
    print(result.summary())
    result.plot()

Rolling Monitoring

from etsi.watchdog import Monitor

monitor = Monitor(reference_df=ref)
monitor.enable_logging("logs/rolling_log.csv")

results = monitor.watch_rolling(
    df=live_data_stream,
    window=50,
    freq="D",
    features=["age", "salary"]
)

Drift Comparison (A/B)

from etsi.watchdog import DriftComparator

check = DriftCheck(ref)
v1 = check.run(live1, features=["age", "salary"])
v2 = check.run(live2, features=["age", "salary"])

comp = DriftComparator(v1, v2)
print(comp.diff())

Contributing

Contributions are welcome. If you have an idea for a drift metric, integration, or improvement, please open an issue or PR on GitHub.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

etsi_watchdog-0.2.2.tar.gz (10.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

etsi_watchdog-0.2.2-py3-none-any.whl (11.2 kB view details)

Uploaded Python 3

File details

Details for the file etsi_watchdog-0.2.2.tar.gz.

File metadata

  • Download URL: etsi_watchdog-0.2.2.tar.gz
  • Upload date:
  • Size: 10.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.4

File hashes

Hashes for etsi_watchdog-0.2.2.tar.gz
Algorithm Hash digest
SHA256 a1f2f235fc5ce792fb7c580cf91875b781efa7ee5abbb7d92721c10061ed13ab
MD5 2c906c5939ced0bcd3fb49ae56613d22
BLAKE2b-256 696abe2b8f6df95a5baa9a1be7e681a1b02cb2028513d83de5c0539cd69f19c1

See more details on using hashes here.

File details

Details for the file etsi_watchdog-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: etsi_watchdog-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 11.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.4

File hashes

Hashes for etsi_watchdog-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 770c016e8bf768667d1155b846280097c6cc8582d493ccefcf25a1d6e2fbb4af
MD5 5b78b5dd362a619a1f026dd6670700a7
BLAKE2b-256 be637e5174ce7f6f98ac12525309516bd96154661658efe890b63a316ee69743

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page