""" Dataset registry and adapter layer for the DecoupleRpy agent. This package provides a dataset-agnostic interface for loading, validating, and routing biological datasets into the decoupleRpy analysis pipeline. Architecture ------------ manifests/ YAML files describing each dataset (one file per dataset). All dataset-specific knowledge lives here: source URL, data type, condition columns, expected sample counts, contrast definitions, etc. registry.py Discovers and indexes manifests by dataset_id. The single source of truth for "which datasets exist." Adding a new dataset means dropping a YAML file into manifests/ — no code changes required. manifest_schema.py Validates manifest structure and provides typed access to manifest fields. Keeps the schema in one authoritative place. Adding a new dataset -------------------- 1. Create src/datasets/manifests/.yaml following the schema in docs/DATASET_ADAPTER_SPEC.md. 2. The registry auto-discovers it on next import. 3. Run tests/test_dataset_registry.py to verify. """ from .registry import DatasetRegistry, get_registry __all__ = ["DatasetRegistry", "get_registry"]