Skip to main content

Add your description here

Project description

mlops-monitor

Lightweight MLOps monitoring toolkit with a web UI, metric logging, drift detection, and run management (inspired by Weights & Biases).

Features

  • Log metrics, hyperparameters, and feature distributions from any Python ML script
  • Automatic run metadata capture (host, platform, Python version, command, etc.)
  • Console output capture (stdout/stderr) into run logs
  • Data drift and concept drift detection (C‑backed helpers)
  • Web UI: Projects → Runs → Metrics graphs (live and historical)
  • SQLite storage, FastAPI + HTMX + Alpine.js + Chart.js frontend

Installation

As a dependency in your project (pip / uv)

# using uv
uv add mlops-monitor

# using pip
pip install mlops-monitor

Editable install for local development / demo

From the repo root:

uv build
# then in your project:
uv add --path ../path/to/mlops-monitor --editable

Or inside the demo/ folder (already configured):

cd demo
uv sync  # uses the editable path defined in pyproject.toml

Quick start

0. Configure project (first time)

uv run monitor edit-config

This will ask:

  • Whether to isolate the project (use local DB instead of global)
  • Whether to enable email alerts
  • Your email address(es) for alerts

1. In your training script

from mlops_monitor import init, log_metrics, capture_output, end

async def main():
    monitor = init("my-project", "run-1")
    capture_output()          # capture prints into run logs
    run_id = await monitor.start()

    for epoch in range(20):
        # train your model ...
        await log_metrics({
            "accuracy": acc,
            "loss": loss,
        }, step=epoch)
        # ...

    await end()                # marks run as completed

if __name__ == "__main__":
    import asyncio
    asyncio.run(main())

2. Launch the UI

uv run monitor ui
# opens at http://localhost:8000

3. Open the UI

  • / – Projects list
  • /project/{id} – Project overview, run list, and multi‑run metric charts
  • /project/{id}/runs/{run_id} – Run details, summary, per‑run charts, and captured logs

Development

git clone ...
cd Cproject
uv sync
uv build                # builds sdist + wheel
uv run monitor ui        # start local UI

The demo/ folder contains a full example using scikit‑learn.

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

mlops_monitor-0.1.0.tar.gz (49.7 kB view details)

Uploaded Source

Built Distribution

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

mlops_monitor-0.1.0-py3-none-any.whl (58.9 kB view details)

Uploaded Python 3

File details

Details for the file mlops_monitor-0.1.0.tar.gz.

File metadata

  • Download URL: mlops_monitor-0.1.0.tar.gz
  • Upload date:
  • Size: 49.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for mlops_monitor-0.1.0.tar.gz
Algorithm Hash digest
SHA256 d6a55e1fea759d2ba19174fec8c9d1ae6b9812420ae2889a189e76d17b0af227
MD5 d385e98216b394a28c3f63e52225862d
BLAKE2b-256 39691d978dba39d0ec4c3881f51a30595d0d18965eaa7e53fb71eee99fa372db

See more details on using hashes here.

File details

Details for the file mlops_monitor-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: mlops_monitor-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 58.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for mlops_monitor-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4e5bf18943e0e4fa81936abeffcb86047de59535c524a88b1264db069f6e1028
MD5 c31b0d845c84a05fd4f30e0c9d558972
BLAKE2b-256 657fb5b77d7d75b06a7d0e5b36a8be3b6ce20699178e5e6bbf6013e7a4a27dd8

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