Skip to main content

ExpMan Python Wrapper

The expman Python package provides a seamless, idiomatic interface for logging experiments in Python projects while leveraging the high-performance Rust core.

Key Features

  • Idiomatic Python: Uses context managers and singletons for clean integration into scripts and notebooks.
  • Fast Logging: Native calls to the Rust engine ensure sub-microsecond logging latency.
  • Automatic Cleanup: Ensures all file handles are closed and data is flushed upon script completion.
  • TensorBoard Drop-in: Replace from torch.utils.tensorboard import SummaryWriter with from expman import SummaryWriter.

Installation

pip install expman-rs

Basic Usage

Global Singleton

import expman as exp

exp.init("my_model")
exp.log_vector({"loss": 0.42})

Context Manager

from expman import Experiment

with Experiment("my_model") as exp:
    exp.log_vector({"loss": 0.42})

TensorBoard SummaryWriter (Drop-in Replacement)

Replace your existing TensorBoard import with expman's drop-in replacement. All metrics are stored in expman's high-performance Parquet format instead of TensorBoard event files.

# Before:
# from torch.utils.tensorboard import SummaryWriter

# After:
from expman import SummaryWriter

writer = SummaryWriter(log_dir="runs/my_experiment")

for epoch in range(100):
    loss = 1.0 / (epoch + 1)
    writer.add_scalar("train/loss", loss, epoch)

writer.add_scalars("metrics", {"accuracy": 0.95, "f1": 0.92}, 100)
writer.add_hparams({"lr": 0.001, "batch_size": 32}, {"hparam/accuracy": 0.95})

writer.close()

Supported methods:

Method Status Notes
add_scalar ✅ Full Logs as expman vector metric
add_scalars ✅ Full Auto-prefixes tags with main_tag
add_text ✅ Full Logged as info message
add_hparams ✅ Full Logs params + initial metrics
flush ✅ No-op Expman auto-flushes asynchronously
close ✅ Full Graceful shutdown
add_histogram ⚠️ Stub No-op, won't raise errors
add_image/images ⚠️ Stub No-op, won't raise errors
add_figure ⚠️ Stub No-op, won't raise errors
add_video ⚠️ Stub No-op, won't raise errors
add_audio ⚠️ Stub No-op, won't raise errors
add_graph ⚠️ Stub No-op, won't raise errors
add_embedding ⚠️ Stub No-op, won't raise errors
add_pr_curve ⚠️ Stub No-op, won't raise errors
add_custom_scalars ⚠️ Stub No-op, won't raise errors
add_mesh ⚠️ Stub No-op, won't raise errors

Internal Architecture

The wrapper uses PyO3 to create native Python extension modules that link directly to the Rust expman library.

Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

expman_rs-1.2.1-cp39-abi3-win_amd64.whl (8.1 MB view details)

Uploaded CPython 3.9+Windows x86-64

expman_rs-1.2.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.7 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ x86-64

expman_rs-1.2.1-cp39-abi3-macosx_11_0_arm64.whl (7.8 MB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

File details

Details for the file expman_rs-1.2.1-cp39-abi3-win_amd64.whl.

File metadata

  • Download URL: expman_rs-1.2.1-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 8.1 MB
  • Tags: CPython 3.9+, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","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 expman_rs-1.2.1-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 2b3f895d3fb21aab5ed9438525f2ede3ba1b1ea1b04316b3f3b042968b7efe80
MD5 f550f673cd64bc2d40bc366f3c0d4bfa
BLAKE2b-256 4e19a0064c52e03ab1a4c2daa544e5b1afc3dc72e896e9c89b42c73b768b4456

See more details on using hashes here.

File details

Details for the file expman_rs-1.2.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: expman_rs-1.2.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 8.7 MB
  • Tags: CPython 3.9+, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","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 expman_rs-1.2.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 89fca0250b63a23b2cfe145e1587da6311ce27887fe0b8f41bc311d3d9cd7983
MD5 55115e4613c0b80f59d828d220e2e7cc
BLAKE2b-256 81f25b2f7220579b237ea387e5bc4f8af3ea943d3a7025cf8b5ba4956fc4e0ce

See more details on using hashes here.

File details

Details for the file expman_rs-1.2.1-cp39-abi3-macosx_11_0_arm64.whl.

File metadata

  • Download URL: expman_rs-1.2.1-cp39-abi3-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 7.8 MB
  • Tags: CPython 3.9+, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","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 expman_rs-1.2.1-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 746f349bf36c6166035f95390bc0f3444a6fd3ae3740374fe8bba6f87c1d83ff
MD5 5a4fec356bbb59d388b9a0f262510af6
BLAKE2b-256 cd78d0b805cb64a9f1bec8003e67eb22a336ee6178dffbf87702907235375f4a

See more details on using hashes here.

Release history Release notifications | RSS feed

1.3.0

3 files

This release

1.2.1 This release

3 files

1.2.0

3 files

1.1.0

3 files

1.0.1

3 files

1.0.0

3 files

0.5.3

4 files

0.5.2

4 files

0.5.1

4 files

0.5.0

4 files

0.4.9

4 files

0.4.8

4 files

0.4.7

4 files

0.4.6

4 files

0.4.5

4 files

0.3.9

5 files

0.3.6

5 files

0.3.4

5 files

0.3.3

5 files

0.2.9

5 files

0.2.8

3 files

0.1.2

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page