Skip to main content

Manage your experiments exactly as you like

Project description

ExpMan: Experiment Manager

GitHub Release

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 git+https://github.com/lokeshmohanty/expMan.git
  • 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 "expman[torch] @ git+https://github.com/lokeshmohanty/expMan.git"

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.5.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.5-py3-none-any.whl (1.6 MB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for ra_expman-0.2.5.tar.gz
Algorithm Hash digest
SHA256 c3221c750dba22cc3ac0503a6ef3af52ac7fa42b69d8e2d3a0fb5f0e59d2a4e0
MD5 e46fba0a145ed7cf2b2c665acd0af660
BLAKE2b-256 2b0441babefbb9efd9c8c0d1966c1dc56be181b4bd9fe38faa85898e6e87ae95

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for ra_expman-0.2.5-py3-none-any.whl
Algorithm Hash digest
SHA256 5cbf1ad77dd8da47f956d1cd6e8e371501ff0f0ddd6256cd063f117e93616d61
MD5 45e01f8ac7bd6c250da14ade34ab9f36
BLAKE2b-256 46696c7c9f99fa1e40b42cd421e259dbd4a467ed21dfc18808b7a8b16254791e

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