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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file etsi_watchdog-0.2.1.tar.gz.
File metadata
- Download URL: etsi_watchdog-0.2.1.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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4429278450308ad669a248b772a1044ebfadf2864928b2d30a2647ea6f24f73b
|
|
| MD5 |
c3e66f4eb9186f325f773bbd9dedc002
|
|
| BLAKE2b-256 |
ce73281c357e6beb4784f051ec361e6fa27351ccb524f2abc4c52f8889d839db
|
File details
Details for the file etsi_watchdog-0.2.1-py3-none-any.whl.
File metadata
- Download URL: etsi_watchdog-0.2.1-py3-none-any.whl
- Upload date:
- Size: 11.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1f2e3d7da1e4c1788858ab9f36de985f7e6a3ade9fd71555f1e456404e2c3586
|
|
| MD5 |
6c3b50665b2c71ff4ffefb9e8ca9d265
|
|
| BLAKE2b-256 |
4f9bcc526632a660edc1a70d81a569d2777da3291fbc1dca85afd1eb1db25501
|