| """ | |
| 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/<dataset_id>.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"] | |