Metadata-Version: 2.4
Name: reverie-bio
Version: 0.0.1
Summary: Fine-tune foundation models for life sciences
Project-URL: Homepage, https://github.com/zaaisvanzyl/reverie
Project-URL: Repository, https://github.com/zaaisvanzyl/reverie
Project-URL: Issues, https://github.com/zaaisvanzyl/reverie/issues
Author: Zaais van Zyl
License-Expression: MIT
License-File: LICENSE
Keywords: biology,fine-tuning,foundation-models,machine-learning
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Requires-Python: >=3.11
Requires-Dist: numpy>=1.24.0
Requires-Dist: pandas>=2.0.0
Requires-Dist: scikit-learn>=1.3.0
Requires-Dist: torch>=2.0.0
Requires-Dist: transformers>=4.35.0
Provides-Extra: all
Requires-Dist: accelerate; extra == 'all'
Requires-Dist: fastapi>=0.100.0; extra == 'all'
Requires-Dist: joblib>=1.3.0; extra == 'all'
Requires-Dist: python-multipart>=0.0.6; extra == 'all'
Requires-Dist: pyyaml>=6.0.0; extra == 'all'
Requires-Dist: uvicorn>=0.20.0; extra == 'all'
Provides-Extra: dev
Requires-Dist: pytest-cov>=4.0.0; extra == 'dev'
Requires-Dist: pytest>=7.0.0; extra == 'dev'
Requires-Dist: ruff>=0.1.0; extra == 'dev'
Provides-Extra: standard-model
Requires-Dist: accelerate; extra == 'standard-model'
Provides-Extra: ui
Requires-Dist: fastapi>=0.100.0; extra == 'ui'
Requires-Dist: joblib>=1.3.0; extra == 'ui'
Requires-Dist: python-multipart>=0.0.6; extra == 'ui'
Requires-Dist: pyyaml>=6.0.0; extra == 'ui'
Requires-Dist: uvicorn>=0.20.0; extra == 'ui'
Description-Content-Type: text/markdown

# Reverie

A training and fine-tuning tool for bio foundation models.


## Installation

```bash
pip install reverie-bio[all]
```

For Standard Model Bio support, also install `smb-utils`:

```bash
pip install git+https://github.com/standardmodelbio/smb-utils.git
```

For development:

```bash
git clone https://github.com/zaaisvanzyl/reverie.git
cd reverie
pip install -e ".[all,dev]"
```

## Quick Start

### Option 1: Web UI (Recommended)

A browser-based interface for uploading data, configuring training, and viewing results.

```bash
# Launch the UI
reverie ui
```

This starts a local server at `http://127.0.0.1:7860`. You can customize host and port:

```bash
reverie ui --host 0.0.0.0 --port 8000
```

### Option 2: CLI

```bash
reverie train \
    --model standard-model \
    --data ./data/synthetic_data.parquet \
    --labels ./data/synthetic_labels.csv \
    --label-column label \
    --output ./results
```

## Foundation Models

### Standard Model Bio

| Column | Type | Description |
|--------|------|-------------|
| `subject_id` | string/int | Patient identifier |
| `time` | datetime | Event timestamp |
| `code` | string | Clinical code (ICD-10, RxNorm, LOINC, etc.) |

Example:
```csv
subject_id,time,code
patient_001,2023-01-15,ICD10:E11.9
patient_001,2023-01-15,RxNorm:860975
patient_002,2023-03-10,ICD10:I10
```

### Labels

One row per patient:
```csv
subject_id,label
patient_001,0
patient_002,1
```

Reference: [standardmodel.bio](https://standardmodel.bio)


## Development

```bash
# Install dev dependencies
pip install -e ".[dev]"

# Run tests
pytest

# Run tests with coverage
pytest --cov=reverie
```
