Skip to main content

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

GitHub Workflow Status Coverage

Visuals

Drift Monitoring Detector

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


Download files

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

Source Distribution

drift_monitor-1.1.0.tar.gz (18.4 kB view details)

Uploaded Source

Built Distribution

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

drift_monitor-1.1.0-py3-none-any.whl (9.7 kB view details)

Uploaded Python 3

File details

Details for the file drift_monitor-1.1.0.tar.gz.

File metadata

  • Download URL: drift_monitor-1.1.0.tar.gz
  • Upload date:
  • Size: 18.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for drift_monitor-1.1.0.tar.gz
Algorithm Hash digest
SHA256 5936f52950c7c7ae43b768df59bd5b76b6307dd4c40b32c9df8eaace63b8fcfc
MD5 2531716b5b528d8027f7c8869681a51e
BLAKE2b-256 b0e23f724f6127611804f4a95373a6d50aaccffb00ab826b8344d2a9ef80644b

See more details on using hashes here.

File details

Details for the file drift_monitor-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: drift_monitor-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 9.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for drift_monitor-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 90bee9aeee0be1598a56d9dccdd55e8d7103425aefd33c6e6fcc0cc62a4dd949
MD5 fd59b464b4b6e6ceaccd3140cd08053b
BLAKE2b-256 66baa59d9dba1bd5764f568569d7f88ef5fe3e69cb17ebc3163bccf50aa0e2af

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