animedex.backends.ghibli.models
Rich Studio Ghibli API dataclasses.
The high-level Ghibli backend reads a vendored JSON snapshot from
animedex/data/ghibli.json. The snapshot mirrors the public Studio
Ghibli API’s five record families: films, people, locations, species,
and vehicles. Every rich type inherits from
BackendRichModel so a snapshot record
round-trips with every upstream key preserved.
Films project naturally onto Anime and
people project onto Character.
Locations, vehicles, and species currently have no cross-source common
type and render through the generic source-attributed rich-model path.
GhibliFilm
- class animedex.backends.ghibli.models.GhibliFilm(*, id: str, title: str, original_title: str | None = None, original_title_romanised: str | None = None, image: str | None = None, movie_banner: str | None = None, description: str | None = None, director: str | None = None, producer: str | None = None, release_date: str | None = None, running_time: str | None = None, rt_score: str | None = None, people: List[str] = [], species: List[str] = [], locations: List[str] = [], vehicles: List[str] = [], url: str | None = None, source_tag: SourceTag | None = None, **extra_data: Any)[source]
Bases:
BackendRichModelOne film record from the Studio Ghibli API snapshot.
GhibliPerson
- class animedex.backends.ghibli.models.GhibliPerson(*, id: str, name: str, gender: str | None = None, age: str | None = None, eye_color: str | None = None, hair_color: str | None = None, films: List[str] = [], species: str | None = None, url: str | None = None, source_tag: SourceTag | None = None, **extra_data: Any)[source]
Bases:
BackendRichModelOne person / character record from the snapshot.
GhibliLocation
- class animedex.backends.ghibli.models.GhibliLocation(*, id: str, name: str, climate: str | None = None, terrain: str | None = None, surface_water: str | None = None, residents: List[str] = [], films: List[str] = [], url: str | None = None, source_tag: SourceTag | None = None, **extra_data: Any)[source]
Bases:
BackendRichModelOne location record from the snapshot.
GhibliVehicle
- class animedex.backends.ghibli.models.GhibliVehicle(*, id: str, name: str, description: str | None = None, vehicle_class: str | None = None, length: str | None = None, pilot: str | None = None, films: List[str] = [], url: str | None = None, source_tag: SourceTag | None = None, **extra_data: Any)[source]
Bases:
BackendRichModelOne vehicle record from the snapshot.
GhibliSpecies
- class animedex.backends.ghibli.models.GhibliSpecies(*, id: str, name: str, classification: str | None = None, eye_colors: str | None = None, hair_colors: str | None = None, people: List[str] = [], films: List[str] = [], url: str | None = None, source_tag: SourceTag | None = None, **extra_data: Any)[source]
Bases:
BackendRichModelOne species record from the snapshot.
selftest
- animedex.backends.ghibli.models.selftest() bool[source]
Smoke-test the Ghibli rich models.
Validates representative film, person, location, vehicle, and species records; confirms film and person common projections carry Ghibli source attribution.
- Returns:
Trueon success; raises on schema drift.- Return type: