Metadata-Version: 2.4
Name: expman-rs
Version: 0.4.9
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Rust
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Dist: pytest ; extra == 'dev'
Requires-Dist: numpy ; extra == 'dev'
Requires-Dist: matplotlib ; extra == 'dev'
Requires-Dist: scipy ; extra == 'dev'
Requires-Dist: imageio[ffmpeg] ; extra == 'dev'
Requires-Dist: pre-commit ; extra == 'dev'
Requires-Dist: ruff ; extra == 'dev'
Requires-Dist: maturin ; extra == 'dev'
Provides-Extra: dev
License-File: LICENSE
Summary: High-performance experiment manager with Rust backend
Home-Page: https://lokeshmohanty.github.io/expman-rs/
Author-email: Lokesh Mohanty <lokesh1197@gmail.com>
License: MIT
Requires-Python: >=3.9
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM

# 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.

## Installation

```bash
pip install expman-rs
```

## Basic Usage

### Global Singleton

```python
import expman as exp

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

### Context Manager

```python
from expman import Experiment

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

## Internal Architecture

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

