animedex.backends

High-level Python API for each anime/manga backend.

The high-level backend layer introduces this package: each subpackage exposes typed functions for every read-only endpoint the upstream offers. Where the substrate (animedex.api) wraps raw HTTP, this layer wraps meaning: a call to animedex.backends.anilist.show() returns a AnilistAnime, not a RawResponse.

Sub-packages:

Per plans/05-python-api.md §0.4, each backend ships:

  • A rich dataclass (Anilist*, Ann*, Jikan*, Shikimori*, Trace*) that retains the long-tail fields the upstream exposes.

  • A to_common() method projecting onto the cross-source types in animedex.models (Anime, Character, Staff, Studio, TraceHit).

Single-backend commands return the rich type; cross-source aggregate commands (future aggregate work+) consume the common projection.