Drift monitoring client in Python.
Project description
Drift Monitoring Detector
Description
Drift Monitoring Detector is a Python client for monitoring concept and data drift in machine learning models. It provides an easy-to-use interface to interact with a drift monitoring server, allowing users to create experiments, log drift detections, and manage drift runs.
Features
- Create and manage experiments
- Log concept and data drift detections
- Automatically handle drift run statuses
- Integration with external monitoring servers
Badges
Visuals
Installation
To install the library (client), run:
pip install drift-monitor
Usage
Setting Up Environment Variables
Set the following environment variables to connect to your drift monitoring server:
- DRIFT_MONITOR_URL: Url pointing to the monitor server, e.g. https://drift-watch.dev.ai4eosc.eu
- DRIFT_MONITOR_MYTOKEN: Token to authenticate with the monitor server from mytoken.data.kit.edu
If you do not know how to set environment variables before starting your Python script, you can set them in your script as follows:
import os
os.environ["DRIFT_MONITOR_URL"] = "https://drift-watch.dev.ai4eosc.eu"
os.environ["DRIFT_MONITOR_MYTOKEN"] = "token_from_mytoken.data.kit.edu"
import drift_monitor
Note this is not PEP8 compliant, but it is a quick way to set environment variables in your script.
Example Usage
from drift_monitor import DriftMonitor, new_experiment, register
# Register the user
register(accept_terms=True)
# Create a new experiment
experiment_name = f"My Experiment Example"
description = "Test experiment example"
new_experiment(experiment_name, description, public=True)
# Define your detector methods
def concept_detector(*args, **kwds) -> tuple[bool, dict]:
return True, {"feature1": 0.05, "feature2": 0.1}
def data_detector(*args, **kwds) -> tuple[bool, dict]:
return True, {"feature3": 0.02, {"feature4": 0.08}
# Use DriftMonitor context
with DriftMonitor(experiment_name, "model_1") as monitor:
detected, detection_parameters = concept_detector()
monitor.concept(detected, detection_parameters)
detected, detection_parameters = data_detector()
monitor.data(detected, detection_parameters)
License
This project is licensed under the MIT License. See the LICENSE file for details.
Project Status
This project is actively maintained. Contributions are welcome!
Project details
Release history Release notifications | RSS feed
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 drift_monitor-1.1.1.tar.gz.
File metadata
- Download URL: drift_monitor-1.1.1.tar.gz
- Upload date:
- Size: 18.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
315f4c92c847f218e67f97f64233174c3177d0e353d199843193d5d1e630ecbb
|
|
| MD5 |
399f29b5f93451c3ccbb1bb0e18fde64
|
|
| BLAKE2b-256 |
b1b20bdecd8f3a7de1b17400d86bc49a1181790e06a9d917c5b196e7274cec5e
|
File details
Details for the file drift_monitor-1.1.1-py3-none-any.whl.
File metadata
- Download URL: drift_monitor-1.1.1-py3-none-any.whl
- Upload date:
- Size: 9.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6a4773a91687adfe7a4f31f1de99cba57071ddcbbd8eb9762580fc7e8102dec3
|
|
| MD5 |
93257e191b4d68408f6bd4be5eefdca7
|
|
| BLAKE2b-256 |
e3875ae225a00fedcf6eed49bca667dac07b49e6bc17bcc978f86bc97a9225c6
|