animedex.backends.mangadex
High-level MangaDex Python API.
Wraps the five anonymous JSON read endpoints listed in the
project’s mid-tier roadmap: search / show / feed / chapter / cover.
The pages (At-Home reader) endpoint is intentionally not
wrapped here — it carries short-lived base URLs and HTTP/2
concurrency caps that warrant their own module in a later phase.
MangaDex’s catalogue is scanlation-driven, which means legal posture varies per series. The project’s posture is to surface upstream metadata as-is; downstream consumers decide what to do with it.
show
- animedex.backends.mangadex.show(id: str, *, config: Config | None = None, **kw) MangaDexManga[source]
Fetch one manga by its MangaDex UUID via
/manga/{id}.- Parameters:
id (str) – MangaDex UUID (string; not numeric).
- Returns:
Typed manga resource, lossless against the upstream JSON:API
datablock.- Return type:
search
feed
chapter
cover
- animedex.backends.mangadex.cover(id: str, *, config: Config | None = None, **kw) MangaDexCover[source]
Fetch one cover by its UUID via
/cover/{id}.The returned resource carries a
fileNameattribute; the public cover URL is composed ashttps://uploads.mangadex.org/covers/<manga-id>/<fileName>.- Parameters:
id (str) – MangaDex cover UUID.
- Returns:
Typed cover resource.
- Return type:
aggregate
- animedex.backends.mangadex.aggregate(id: str, *, config: Config | None = None, **kw) MangaDexResource[source]
Volume + chapter aggregation tree via
/manga/{id}/aggregate.Returns the manga’s chapters grouped by volume, structured as
volumes -> chapters -> count. The shape is upstream-specific (not a JSON:API resource); surfaces asMangaDexResourcewith attributes carrying the aggregation tree.
recommendation
random_manga
- animedex.backends.mangadex.random_manga(*, config: Config | None = None, **kw) MangaDexManga[source]
Random manga via
/manga/random.
manga_tag
chapter_search
cover_search
group_search
group
list_show
list_feed
user
user_lists
statistics_manga
statistics_manga_batch
statistics_chapter
statistics_chapter_batch
statistics_group
report_reasons
me
- animedex.backends.mangadex.me(*, creds: MangaDexCredentials | None = None, config: Config | None = None, **kw) MangaDexUser[source]
Authenticated current user via
/user/me.- Returns:
Typed user resource.
- Return type:
my_follows_manga
- animedex.backends.mangadex.my_follows_manga(*, limit: int = 20, offset: int = 0, creds: MangaDexCredentials | None = None, config: Config | None = None, **kw) List[MangaDexManga][source]
Manga the authenticated user is following via
/user/follows/manga.
is_following_manga
my_follows_group
- animedex.backends.mangadex.my_follows_group(*, limit: int = 20, offset: int = 0, creds: MangaDexCredentials | None = None, config: Config | None = None, **kw) List[MangaDexResource][source]
Scanlation groups the authenticated user is following via
/user/follows/group.
is_following_group
my_follows_user
- animedex.backends.mangadex.my_follows_user(*, limit: int = 20, offset: int = 0, creds: MangaDexCredentials | None = None, config: Config | None = None, **kw) List[MangaDexResource][source]
Users the authenticated user is following via
/user/follows/user.
is_following_user
my_follows_list
- animedex.backends.mangadex.my_follows_list(*, limit: int = 20, offset: int = 0, creds: MangaDexCredentials | None = None, config: Config | None = None, **kw) List[MangaDexResource][source]
Custom lists the authenticated user is following via
/user/follows/list.
my_follows_manga_feed
- animedex.backends.mangadex.my_follows_manga_feed(*, limit: int = 20, offset: int = 0, creds: MangaDexCredentials | None = None, config: Config | None = None, **kw) List[MangaDexChapter][source]
Chapter feed for the manga the authenticated user follows via
/user/follows/manga/feed.
my_lists
- animedex.backends.mangadex.my_lists(*, limit: int = 20, offset: int = 0, creds: MangaDexCredentials | None = None, config: Config | None = None, **kw) List[MangaDexResource][source]
The authenticated user’s own custom lists via
/user/list.
my_history
- animedex.backends.mangadex.my_history(*, creds: MangaDexCredentials | None = None, config: Config | None = None, **kw) List[MangaDexResource][source]
The authenticated user’s reading history via
/user/history.The upstream returns a list of
{chapterId, readDate}entries wrapped in the standard envelope; the rich shape round-trips them viaMangaDexResource’s catch-allattributes.
my_manga_status
- animedex.backends.mangadex.my_manga_status(*, status: str | None = None, creds: MangaDexCredentials | None = None, config: Config | None = None, **kw) Dict[str, str][source]
Reading-status map for every manga the authenticated user has interacted with, via
/manga/status.The upstream returns
{result, statuses: {manga-uuid: status}}; this helper returns the innerstatusesmap directly. Passstatus="reading"(or"on_hold"/"plan_to_read"/"dropped"/"re_reading"/"completed") to filter.
my_manga_status_by_id
- animedex.backends.mangadex.my_manga_status_by_id(id: str, *, creds: MangaDexCredentials | None = None, config: Config | None = None, **kw) str | None[source]
Reading status for one manga via
/manga/{id}/status.- Returns:
The status string, or
Nonewhen the user has never interacted with this manga.- Return type:
str or None