animedex.agg.calendar

Calendar aggregate commands over AniList and Jikan.

This module composes the existing high-level backend APIs into multi-source calendar results. It owns only selection, date/season inference, and per-source fan-out; backend-specific request logic stays under animedex.backends.

SEASONS

animedex.agg.calendar.SEASONS: Tuple[str, ...] = ('winter', 'spring', 'summer', 'fall')

Built-in immutable sequence.

If no argument is given, the constructor returns an empty tuple. If iterable is specified the tuple is initialized from iterable’s items.

If the argument is a tuple, the return value is the same object.

SOURCES

animedex.agg.calendar.SOURCES: Tuple[str, ...] = ('anilist', 'jikan')

Built-in immutable sequence.

If no argument is given, the constructor returns an empty tuple. If iterable is specified the tuple is initialized from iterable’s items.

If the argument is a tuple, the return value is the same object.

WEEKDAYS

animedex.agg.calendar.WEEKDAYS: Tuple[str, ...] = ('monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday', 'sunday')

Built-in immutable sequence.

If no argument is given, the constructor returns an empty tuple. If iterable is specified the tuple is initialized from iterable’s items.

If the argument is a tuple, the return value is the same object.

DAYS

animedex.agg.calendar.DAYS: Tuple[str, ...] = ('monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday', 'sunday', 'today', 'tomorrow', 'all')

Built-in immutable sequence.

If no argument is given, the constructor returns an empty tuple. If iterable is specified the tuple is initialized from iterable’s items.

If the argument is a tuple, the return value is the same object.

current_anime_season

animedex.agg.calendar.current_anime_season(today: date | None = None) str[source]

Return the local-month anime season.

Anime calendar seasons follow the AniList/MAL quarterly convention: winter is January-March, spring is April-June, summer is July-September, and fall is October-December.

Parameters:

today (datetime.date or None) – Optional date override for callers that already have one.

Returns:

Lowercase season name.

Return type:

str

season

animedex.agg.calendar.season(year: int | None = None, season: str | None = None, *, source: str = 'all', limit: int = 25, config: Config | None = None, **kw) AggregateResult[source]

Return anime airing in a season from AniList and Jikan.

Parameters:
  • year (int or None) – Calendar year. Defaults to the current local year.

  • season (str or None) – One of winter, spring, summer, or fall. Defaults to the local-month anime season.

  • source (str) – Comma-separated source allowlist: all, anilist, jikan, or a comma list.

  • limit (int) – Per-source row limit.

  • config (Config or None) – Optional runtime config.

Returns:

Aggregate envelope.

Return type:

AggregateResult

schedule

animedex.agg.calendar.schedule(*, day: str = 'all', source: str = 'all', limit: int = 25, timezone_name: str | None = None, config: Config | None = None, **kw) AggregateResult[source]

Return airing rows for a day or the upcoming seven-day window.

Parameters:
  • day (str) – monday through sunday, today, tomorrow, or all.

  • source (str) – Comma-separated source allowlist.

  • limit (int) – Per-source row limit.

  • timezone_name (str or None) – Display/query timezone. Defaults to local.

  • config (Config or None) – Optional runtime config.

Returns:

Aggregate envelope.

Return type:

ScheduleCalendarResult

selftest

animedex.agg.calendar.selftest() bool[source]

Smoke-test calendar helpers and title transliteration dependencies.

Returns:

True on success.

Return type:

bool