Source code for veupath_chatbot.services.experiment.seed.seeds
"""Per-database seed definitions."""
import contextlib
from importlib import import_module
from typing import Any
# Available seed databases
SEED_DATABASES: list[str] = [
"plasmodb",
"toxodb",
"cryptodb",
"piroplasmadb",
"tritrypdb",
"fungidb",
"vectorbase",
"giardiadb",
"amoebadb",
"microsporidiadb",
"hostdb",
"veupathdb",
"orthomcl",
]
[docs]
def get_seeds_for_site(site_id: str) -> list[Any]:
"""Import and return SEEDS for a specific site."""
mod = import_module(f".{site_id}", package=__name__)
seeds: list[Any] = mod.SEEDS
return seeds
[docs]
def get_all_seeds() -> list[Any]:
"""Get seeds for all available sites."""
all_seeds: list[Any] = []
for site_id in SEED_DATABASES:
with contextlib.suppress(ImportError, AttributeError):
all_seeds.extend(get_seeds_for_site(site_id))
return all_seeds