Source code for animedex.agg

"""Aggregate orchestration helpers and top-level multi-source APIs.

The package owns backend fan-out and aggregate-specific coordination.
Backend adapters remain under :mod:`animedex.backends`; aggregate
modules compose those public Python APIs without reimplementing their
wire logic.
"""

from animedex.agg.calendar import schedule, season
from animedex.agg._fanout import FanoutSource, run_fanout
from animedex.agg.search import search
from animedex.agg.show import show

__all__ = ["FanoutSource", "run_fanout", "schedule", "search", "season", "show"]


[docs] def selftest() -> bool: """Smoke-test the aggregate package exports. :return: ``True`` when the package-level public names are wired. :rtype: bool """ assert callable(season) assert callable(schedule) assert callable(search) assert callable(show) assert callable(run_fanout) return True