Skip to main content

Manage your experiments exactly as you like

Project description

ExpMan: Experiment Manager

PyPI version Python versions GitHub Release License

expman is a lightweight, functional research experiment management library.

Features

  • Functional Core: Pure functions for reliable data management

  • Universal Tracking: Metrics (Parquet), Config (YAML), Models (PyTorch), Plots (PD/Matplotlib)

  • Modern Web Dashboard:

    • Run Comparison: Overlay metrics from multiple runs on interactive Plotly charts.
    • Artifact Browser: Browse and preview all experiment files including auto-generated model architecture graphs.

    Dashboard Metrics Dashboard Artifacts

Installation

  • Basic Installation (Lightweight, no Torch/Graphviz):
pip install ra-expman
  • Full Installation (With PyTorch support for model saving & architecture graphs) (you can also choose to install torch, torchview and graphviz separately using the basic installation):
pip install "ra-expman[torch]"

Development

To develop expman (with frontend watch and backend reload):

expman dev

Quick Start

  1. Run an Experiment:

    from expman import Experiment
    import matplotlib.pyplot as plt
    import torch
    import torchvision
    
    # Initialize
    exp = Experiment("my_experiment")
    exp.log_params({"lr": 0.001, "model": "resnet18"})
    
    # Training Loop
    for i in range(100):
        exp.log_metrics({"loss": 0.5 - i*0.001, "accuracy": i*0.01}, step=i)
    
    # Save Artifacts & Auto-Generate Model Graph
    # Saving is non-blocking (runs in background thread)
    model = torchvision.models.resnet18()
    exp.save_model(model, "final.pt", input_size=(1, 3, 224, 224)) 
    

    For a complete example, check examples/test_run.py.

  2. Launch Dashboard:

    expman serve ./experiments
    

    Open http://localhost:8000

  3. Interactive Analysis: Load a run directly into a Python REPL with metrics and config pre-loaded:

    expman load experiments/my_experiment/runs/run_001
    

    Interactive Analysis Preview

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

ra_expman-0.2.7.tar.gz (1.6 MB view details)

Uploaded Source

Built Distribution

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

ra_expman-0.2.7-py3-none-any.whl (1.6 MB view details)

Uploaded Python 3

File details

Details for the file ra_expman-0.2.7.tar.gz.

File metadata

  • Download URL: ra_expman-0.2.7.tar.gz
  • Upload date:
  • Size: 1.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ra_expman-0.2.7.tar.gz
Algorithm Hash digest
SHA256 90f30844c408f208baae0b23797a37179fa9ad3fd1b75462752d20bbafc68d9d
MD5 475d724893f1dd62f6d9f3558b48f0ea
BLAKE2b-256 8b46bd41f0d9453b316f61602e38f9632feb25406b5cc4bc625121b88f38e441

See more details on using hashes here.

File details

Details for the file ra_expman-0.2.7-py3-none-any.whl.

File metadata

  • Download URL: ra_expman-0.2.7-py3-none-any.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ra_expman-0.2.7-py3-none-any.whl
Algorithm Hash digest
SHA256 8209911e68090597769541ffab71c738410453b12f3ad550653d1ab79eb588ad
MD5 2d261e788235cf24a01f0639cae1e090
BLAKE2b-256 59f39e058e925e3de0706d5452d594fb579933c6b2b5aee6e2ade4e7ba87dfa5

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