Metadata-Version: 2.4
Name: rundir
Version: 0.1.0.1
Summary: Super minimal run directory manager for experiments
Project-URL: Homepage, https://github.com/guyvandam/rundir
Project-URL: Repository, https://github.com/guyvandam/rundir
Project-URL: Issues, https://github.com/guyvandam/rundir/issues
Author-email: Guy van Dam <guyvandam@gmail.com>
License: MIT
License-File: LICENSE
Keywords: directory,experiments,ml,run,tracking
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering
Requires-Python: >=3.10
Description-Content-Type: text/markdown

# rundir

Super minimal run directory manager for experiments. Auto-numbered run folders + JSON config dump. No deps.

## Install

```bash
pip install rundir
# or
uv add rundir
```

## Quickstart

```python
from rundir import Run

run = Run("train", base_output_dir="out")
run.add(lr=1e-3, batch_size=32, model="resnet50")

# writes:
#   out/train/train-1/config.json
```

Re-running increments the suffix: `train-2`, `train-3`, ...

### Access run info

```python
run.run_dir   # Path("out/train/train-3")
run.id        # 3
run.config    # {"lr": 1e-3, "batch_size": 32, "model": "resnet50"}
```

### `Param` wrapper

Auto-registers named params with active run.

```python
from rundir import Param

lr = Param(1e-3, name="lr")
print(lr)  # 0.001
```

## License

MIT
