Skip to main content

Local-first ML training visualization and tracking dashboard.

Project description

G R A D I A

Next-Generation Local-First MLOps Platform

PyPI Version Python Version License Build Status

Gradia Dashboard


🚀 Overview

Gradia is a high-performance, asynchronous monitoring solution designed for local machine learning workflows. Unlike cloud-native behemoths, Gradia focuses on zero-latency, privacy-first tracking that runs directly alongside your training loop.

Built on FastAPI, WebSockets (simulated via high-frequency polling), and Reactive UI, Gradia provides granular visibility into your model's training dynamics, system resource consumption, and feature importance without the overhead of external servers.

⚡ Key Capabilities

Feature Description
Real-Time Telemetry Nanosecond-precision tracking of Loss, Accuracy, and custom metrics via async event dispatching.
Intelligent Auto-Discovery Heuristic analysis of tabular datasets to automatically infer task types (Regression vs Classification) and suggest optimal architectures (CNNs, RFCs).
System Profiling Integrated psutil hooks for monitoring CPU/GPU* and RAM saturation during training epochs.
Artifact Management Automated checkpointing (best-ckpt) and structured logging (events.jsonl) with thread-safe IO.
Comprehensive Reporting One-click generation of audit-ready PDF/JSON reports containing full training history and confusion matrices.
Interactive Evaluation Post-training validation suite featuring dynamic Heatmap visualization for Confusion Matrices.

🛠️ Architecture

Gradia employs a Producer-Consumer architecture:

  1. Trainer Thread (Producer): Executes the Scikit-Learn training loop, emitting atomic events to a thread-locked EventLogger.
  2. System Thread: Asynchronously samples hardware metrics.
  3. Visualization Server (Consumer): A lightweight FastAPI instance that aggregates logs and serves a reactive Single Page Application (SPA).

This decoupling ensures that monitoring never bottlenecks your training throughput.

📦 Installation

pip install gradia --upgrade

💻 Usage

Quick Start

Initialize the environment and start the observer in one command. Gradia will auto-detect any CSV files in the directory.

gradia run .

Advanced CLI

Override default heuristics and bind to specific interfaces.

gradia run . \
  --target "churn_label" \
  --port 8080 \
  --workers 4

📊 Dashboard

Access the dashboard at http://localhost:8000.

  • Configure: Select your model (Random Forest, MLP, etc.) and hyperparameters.
  • Observe: Watch metrics stream in real-time.
  • Analyze: Use the built-in Feature Importance charts to debug model bias.

🤝 Contributing

We welcome contributions! Please see CONTRIBUTING.md for details on submitting logical PRs.

📄 License

Distributed under the MIT License. See LICENSE for more information.


Built with ❤️ by STiFLeR for the ML Community.

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

gradia-1.0.0.tar.gz (2.6 MB view details)

Uploaded Source

Built Distribution

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

gradia-1.0.0-py3-none-any.whl (2.6 MB view details)

Uploaded Python 3

File details

Details for the file gradia-1.0.0.tar.gz.

File metadata

  • Download URL: gradia-1.0.0.tar.gz
  • Upload date:
  • Size: 2.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.4

File hashes

Hashes for gradia-1.0.0.tar.gz
Algorithm Hash digest
SHA256 eb5658797d11c56ad47e60915b8ff2327e2cb5f8abff20707efce166ba902404
MD5 dc6512b349da1770223dead4694fc844
BLAKE2b-256 540ea9b848e061117c8f197700b30c6ccb543a9a92bf9aa7e9aac6e24fbd3ade

See more details on using hashes here.

File details

Details for the file gradia-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: gradia-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 2.6 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.4

File hashes

Hashes for gradia-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 373a45c32137a924daccb6634b3542070c1219c3513dd5a908729da2f428b021
MD5 e7be70d206fb586943826637b374f197
BLAKE2b-256 c42102fd0d0f3fcc663ed1064036c2a8ecfead0008f16f4a190cce165d8be754

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