Skip to main content

Storage Overview

Storage backends handle loading test datasets and saving execution results.

Available Backends

BackendUse CaseRequirements
LocalStorageFilesystem storageNone
LakeFSStorageCloud versioned storageLakeFS server

Installation

# Local storage (included)
uv pip install "alquimia-fair-forge[runners]"

# LakeFS storage
uv pip install "alquimia-fair-forge[cloud]"

Quick Start

Local Storage

from fair_forge.storage import create_local_storage

storage = create_local_storage(
    tests_dir="./test_datasets",
    results_dir="./test_results",
)

# Load test datasets
datasets = storage.load_datasets()

# Save results
result_path = storage.save_results(
    datasets=executed_datasets,
    run_id="run-001",
    timestamp=datetime.now(),
)

LakeFS Storage

from fair_forge.storage import create_lakefs_storage

storage = create_lakefs_storage(
    host="http://lakefs.example.com:8000",
    username="admin",
    password="password",
    repo_id="fair-forge-tests",
)

# Same API as local storage
datasets = storage.load_datasets()

Common Operations

Load Datasets

# Load all test datasets
datasets = storage.load_datasets()

# Filter by test suite
storage = create_local_storage(
    tests_dir="./tests",
    results_dir="./results",
    enabled_suites=["regression", "smoke"],  # Only these directories
)

Save Results

from datetime import datetime
import uuid

result_path = storage.save_results(
    datasets=executed_datasets,
    run_id=str(uuid.uuid4()),
    timestamp=datetime.now(),
)

print(f"Results saved to: {result_path}")

Next Steps