Skip to content

Models

AiringSchedule

Bases: ParentModel

Media Airing Schedule.

airing_at class-attribute instance-attribute

airing_at: UTCDateTime | None = None

The time the episode airs at.

episode class-attribute instance-attribute

episode: int | None = None

The airing episode number.

id class-attribute instance-attribute

id: int | None = None

The id of the airing schedule item.

time_until_airing class-attribute instance-attribute

time_until_airing: timedelta | None = None

The time delta until the episode starts airing.

Character

Bases: ParentModel

A character that features in an anime or manga.

age class-attribute instance-attribute

age: str | None = None

The character's age. Note this is a string, not an int, it may contain further text and additional ages.

blood_type class-attribute instance-attribute

blood_type: str | None = None

The character's blood type.

date_of_birth class-attribute instance-attribute

date_of_birth: FuzzyDate = FuzzyDate()

The character's birth date.

description class-attribute instance-attribute

description: str | None = None

A general description of the character.

favourites class-attribute instance-attribute

favourites: int | None = None

The amount of user's who have favourited the character.

gender class-attribute instance-attribute

gender: str | None = None

The character's gender. Usually Male, Female, or Non-binary but can be any string.

id instance-attribute

id: int

The id of the character.

image class-attribute instance-attribute

Character images.

name class-attribute instance-attribute

The names of the character.

role class-attribute instance-attribute

role: CharacterRole | None = None

The character's role in the media.

site_url class-attribute instance-attribute

site_url: HttpUrl | None = None

The url for the character page on the AniList website.

voice_actors class-attribute instance-attribute

voice_actors: tuple[Staff, ...] = tuple()

The voice actors of the character.

CharacterImage

Bases: ParentModel

Character's image.

large class-attribute instance-attribute

large: HttpUrl | None = None

The character's image of media at its largest size.

medium class-attribute instance-attribute

medium: HttpUrl | None = None

The character's image of media at medium size.

CharacterName

Bases: ParentModel

The names of the character.

alternative class-attribute instance-attribute

alternative: tuple[str, ...] = tuple()

Other names the character might be referred to as.

alternative_spoiler class-attribute instance-attribute

alternative_spoiler: tuple[str, ...] = tuple()

Other names the character might be referred to as but are spoilers.

first class-attribute instance-attribute

first: str | None = None

The character's given name.

full class-attribute instance-attribute

full: str | None = None

The character's first and last name.

last class-attribute instance-attribute

last: str | None = None

The character's surname.

middle class-attribute instance-attribute

middle: str | None = None

The character's middle name.

native class-attribute instance-attribute

native: str | None = None

The character's full name in their native language.

FuzzyDate

Bases: ParentModel

Naive date object that allows for incomplete date values (fuzzy).

day class-attribute instance-attribute

day: int | None = None

Numeric Day (24).

month class-attribute instance-attribute

month: int | None = None

Numeric Month (3).

year class-attribute instance-attribute

year: int | None = None

Numeric Year (2017).

iso_format

iso_format() -> str

Return the date formatted as an ISO 8601 string.

If year, month, and day are available, the format is "YYYY-MM-DD". If only year and month are available, the format is "YYYY-MM". If only year is available, the format is "YYYY". If no information is available, an empty string is returned.

Source code in src/pyanilist/_models.py
def iso_format(self) -> str:
    """
    Return the date formatted as an ISO 8601 string.

    If year, month, and day are available, the format is "YYYY-MM-DD".
    If only year and month are available, the format is "YYYY-MM".
    If only year is available, the format is "YYYY".
    If no information is available, an empty string is returned.
    """
    if self.year and self.month and self.day:
        return f"{self.year}-{self.month:02}-{self.day:02}"

    elif self.year and self.month:
        return f"{self.year}-{self.month:02}"

    elif self.year:
        return f"{self.year}"

    else:
        return ""

to_int

to_int() -> int

Return an 8 digit long date integer (YYYYMMDD). Unknown dates represented by 0. For example, 2016 is 20160000 and May 1976 is 19760500.

Source code in src/pyanilist/_models.py
def to_int(self) -> int:
    """
    Return an 8 digit long date integer (YYYYMMDD).
    Unknown dates represented by 0.
    For example, 2016 is 20160000 and May 1976 is 19760500.
    """
    year = str(self.year).zfill(4) if self.year is not None else "1000"
    month = str(self.month).zfill(2) if self.month is not None else "00"
    day = str(self.day).zfill(2) if self.day is not None else "00"

    return int(f"{year}{month}{day}")

Media

Bases: ParentModel

Anime or Manga.

average_score class-attribute instance-attribute

average_score: int | None = None

A weighted average score of all the user's scores of the media.

banner_image class-attribute instance-attribute

banner_image: HttpUrl | None = None

The banner image of the media.

chapters class-attribute instance-attribute

chapters: int | None = None

The amount of chapters the manga has when complete.

country_of_origin class-attribute instance-attribute

country_of_origin: CountryAlpha2 | None = None

Where the media was created. (ISO 3166-1 alpha-2).

cover_image class-attribute instance-attribute

The cover images of the media.

description class-attribute instance-attribute

description: str | None = None

Short description of the media's story and characters.

duration class-attribute instance-attribute

duration: int | None = None

The general length of each anime episode in minutes.

end_date class-attribute instance-attribute

end_date: FuzzyDate = FuzzyDate()

The last official release date of the media.

episodes class-attribute instance-attribute

episodes: int | None = None

The amount of episodes the anime has when complete.

external_links: tuple[MediaExternalLink, ...] = tuple()

External links to another site related to the media.

favourites class-attribute instance-attribute

favourites: int | None = None

The amount of user's who have favourited the media.

format class-attribute instance-attribute

format: MediaFormat | None = None

The format the media was released in.

genres class-attribute instance-attribute

genres: tuple[str, ...] = tuple()

The genres of the media.

hashtag class-attribute instance-attribute

hashtag: str | None = None

Official Twitter hashtags for the media.

id instance-attribute

id: int

The id of the media.

id_mal class-attribute instance-attribute

id_mal: int | None = None

The mal id of the media.

is_adult class-attribute instance-attribute

is_adult: bool | None = None

If the media is intended only for 18+ adult audiences.

is_licensed class-attribute instance-attribute

is_licensed: bool | None = None

If the media is officially licensed or a self-published doujin release.

is_locked class-attribute instance-attribute

is_locked: bool | None = None

Locked media may not be added to lists our favorited. This may be due to the entry pending for deletion or other reasons.

mean_score class-attribute instance-attribute

mean_score: int | None = None

Mean score of all the user's scores of the media.

next_airing_episode class-attribute instance-attribute

next_airing_episode: AiringSchedule = AiringSchedule()

The media's next episode airing schedule.

popularity class-attribute instance-attribute

popularity: int | None = None

The number of users with the media on their list.

rankings class-attribute instance-attribute

rankings: tuple[MediaRank, ...] = tuple()

The ranking of the media in a particular time span and format compared to other media.

season class-attribute instance-attribute

season: MediaSeason | None = None

The season the media was initially released in.

season_year class-attribute instance-attribute

season_year: int | None = None

The season year the media was initially released in.

site_url instance-attribute

site_url: HttpUrl

The url for the media page on the AniList website.

source class-attribute instance-attribute

source: MediaSource | None = None

Source type the media was adapted from.

start_date class-attribute instance-attribute

start_date: FuzzyDate = FuzzyDate()

The first official release date of the media.

status class-attribute instance-attribute

status: MediaStatus | None = None

The current releasing status of the media.

streaming_episodes class-attribute instance-attribute

streaming_episodes: tuple[MediaStreamingEpisode, ...] = tuple()

Data and links to legal streaming episodes on external sites.

synonyms class-attribute instance-attribute

synonyms: tuple[str, ...] = tuple()

Alternative titles of the media.

tags class-attribute instance-attribute

tags: tuple[MediaTag, ...] = tuple()

List of tags that describes elements and themes of the media.

title class-attribute instance-attribute

The official titles of the media in various languages.

trailer class-attribute instance-attribute

Media trailer or advertisement.

trending class-attribute instance-attribute

trending: int | None = None

The amount of related activity in the past hour.

type class-attribute instance-attribute

type: MediaType | None = None

The type of the media; anime or manga.

updated_at class-attribute instance-attribute

updated_at: UTCDateTime | None = None

When the media's data was last updated.

volumes class-attribute instance-attribute

volumes: int | None = None

The amount of volumes the manga has when complete.

MediaCoverImage

Bases: ParentModel

The cover images of the media.

color class-attribute instance-attribute

color: Color | None = None

Average #hex color of cover image

extra_large class-attribute instance-attribute

extra_large: HttpUrl | None = None

The cover image url of the media at its largest size. If this size isn't available, large will be provided instead.

large class-attribute instance-attribute

large: HttpUrl | None = None

The cover image url of the media at a large size

medium class-attribute instance-attribute

medium: HttpUrl | None = None

The cover image url of the media at medium size

Bases: ParentModel

An external link to another site related to the media or staff member.

color class-attribute instance-attribute

color: Color | None = None

Average #hex color.

icon class-attribute instance-attribute

icon: HttpUrl | None = None

The icon image url of the site. Not available for all links. Transparent PNG 64x64.

id class-attribute instance-attribute

id: int | None = None

The id of the external link.

is_disabled class-attribute instance-attribute

is_disabled: bool | None = None

Indicates if the link is currently disabled.

language class-attribute instance-attribute

language: str | None = None

Language the site content is in. See Staff language field for values.

notes class-attribute instance-attribute

notes: str | None = None

Additional notes about the link or its relevance.

site class-attribute instance-attribute

site: str | None = None

The links website site name.

site_id class-attribute instance-attribute

site_id: int | None = None

The links website site id.

type class-attribute instance-attribute

type: ExternalLinkType | None = None

Type of the external link.

url class-attribute instance-attribute

url: HttpUrl | None = None

The url of the external link or base url of link source.

MediaRank

Bases: ParentModel

The ranking of a media in a particular time span and format compared to other media.

all_time class-attribute instance-attribute

all_time: bool | None = None

If the ranking is based on all time instead of a season/year.

context class-attribute instance-attribute

context: str | None = None

String that gives context to the ranking type and time span.

format class-attribute instance-attribute

format: MediaFormat | None = None

The format the media is ranked within.

id class-attribute instance-attribute

id: int | None = None

The id of the rank.

rank class-attribute instance-attribute

rank: int | None = None

The numerical rank of the media.

season class-attribute instance-attribute

season: MediaSeason | None = None

The season the media is ranked within.

type class-attribute instance-attribute

type: MediaRankType | None = None

The type of ranking.

year class-attribute instance-attribute

year: int | None = None

The year the media is ranked within.

MediaStreamingEpisode

Bases: ParentModel

Data and links to legal streaming episodes on external sites.

site class-attribute instance-attribute

site: str | None = None

The site location of the streaming episodes.

thumbnail class-attribute instance-attribute

thumbnail: HttpUrl | None = None

Url of episode image thumbnail.

title class-attribute instance-attribute

title: str | None = None

Title of the episode.

url class-attribute instance-attribute

url: HttpUrl | None = None

The url of the episode.

MediaTag

Bases: ParentModel

A tag that describes a theme or element of the media.

category class-attribute instance-attribute

category: str | None = None

The categories of tags this tag belongs to.

description class-attribute instance-attribute

description: str | None = None

A general description of the tag.

id class-attribute instance-attribute

id: int | None = None

The id of the tag.

is_adult class-attribute instance-attribute

is_adult: bool | None = None

If the tag is only for adult 18+ media.

is_general_spoiler class-attribute instance-attribute

is_general_spoiler: bool | None = None

If the tag could be a spoiler for any media.

is_media_spoiler class-attribute instance-attribute

is_media_spoiler: bool | None = None

If the tag is a spoiler for this media.

name class-attribute instance-attribute

name: str | None = None

The name of the tag.

rank class-attribute instance-attribute

rank: int | None = None

The relevance ranking of the tag out of the 100 for this media.

user_id class-attribute instance-attribute

user_id: int | None = None

The user who submitted the tag.

MediaTitle

Bases: ParentModel

The official titles of the media in various languages.

english class-attribute instance-attribute

english: str | None = None

The official English title.

native class-attribute instance-attribute

native: str | None = None

Official title in its native language.

romaji class-attribute instance-attribute

romaji: str | None = None

The romanization of the native language title.

MediaTrailer

Bases: ParentModel

Media trailer or advertisement.

id class-attribute instance-attribute

id: str | None = None

The trailer video id.

site class-attribute instance-attribute

site: str | None = None

The site the video is hosted by (Currently either youtube or dailymotion).

thumbnail class-attribute instance-attribute

thumbnail: HttpUrl | None = None

The url for the thumbnail image of the video.

RelatedMedia

Bases: Media

Subclass of Media with an additional relation_type property.

relation_type class-attribute instance-attribute

relation_type: MediaRelation | None = None

The type of relation to the parent media.

Staff

Bases: ParentModel

Voice actors or production staff.

age class-attribute instance-attribute

age: int | None = None

The person's age in years.

blood_type class-attribute instance-attribute

blood_type: str | None = None

The persons blood type.

date_of_birth class-attribute instance-attribute

date_of_birth: FuzzyDate = FuzzyDate()

The staff's date of birth.

date_of_death class-attribute instance-attribute

date_of_death: FuzzyDate = FuzzyDate()

The staff's date of death.

description class-attribute instance-attribute

description: str | None = None

A general description of the staff member.

favourites class-attribute instance-attribute

favourites: int | None = None

The amount of user's who have favourited the staff member.

gender class-attribute instance-attribute

gender: str | None = None

The staff's gender. Usually Male, Female, or Non-binary but can be any string.

home_town class-attribute instance-attribute

home_town: str | None = None

The persons birthplace or hometown.

id class-attribute instance-attribute

id: int | None = None

The id of the staff member.

image class-attribute instance-attribute

The staff images.

language_v2 class-attribute instance-attribute

language_v2: str | None = None

The primary language of the staff member. Current values: Japanese, English, Korean, Italian, Spanish, Portuguese, French, German, Hebrew, Hungarian, Chinese, Arabic, Filipino, Catalan, Finnish, Turkish, Dutch, Swedish, Thai, Tagalog, Malaysian, Indonesian, Vietnamese, Nepali, Hindi, Urdu.

name class-attribute instance-attribute

name: StaffName = StaffName()

The names of the staff member.

primary_occupations class-attribute instance-attribute

primary_occupations: tuple[str, ...] = tuple()

The person's primary occupations.

role class-attribute instance-attribute

role: str | None = None

The role of the staff member in the production of the media.

site_url class-attribute instance-attribute

site_url: HttpUrl | None = None

The url for the staff page on the AniList website.

years_active class-attribute instance-attribute

years_active: YearsActive = YearsActive()

(start_year, end_year) (If the 2nd value is not present staff is still active).

StaffImage

Bases: ParentModel

Staff's image.

large class-attribute instance-attribute

large: HttpUrl | None = None

The person's image of media at its largest size.

medium class-attribute instance-attribute

medium: HttpUrl | None = None

The person's image of media at medium size.

StaffName

Bases: ParentModel

The names of the staff member.

alternative class-attribute instance-attribute

alternative: tuple[str, ...] = tuple()

Other names the staff member might be referred to as (pen names).

first class-attribute instance-attribute

first: str | None = None

The person's given name.

full class-attribute instance-attribute

full: str | None = None

The person's first and last name.

last class-attribute instance-attribute

last: str | None = None

The person's surname.

middle class-attribute instance-attribute

middle: str | None = None

The person's middle name.

native class-attribute instance-attribute

native: str | None = None

The person's full name in their native language.

Studio

Bases: ParentModel

Animation or production company.

favourites class-attribute instance-attribute

favourites: int | None = None

The amount of user's who have favourited the studio.

id class-attribute instance-attribute

id: int | None = None

The id of the studio.

is_animation_studio class-attribute instance-attribute

is_animation_studio: bool | None = None

If the studio is an animation studio or a different kind of company.

is_main class-attribute instance-attribute

is_main: bool | None = None

If the studio is the main animation studio of the anime.

name class-attribute instance-attribute

name: str | None = None

The name of the studio.

site_url class-attribute instance-attribute

site_url: HttpUrl | None = None

The url for the studio page on the AniList website.