Models¶
Typed pydantic v2 data models for vgmdb-client.
Album
¶
Bases: VgmdbModel
A vgmdb album (core subset of fields).
Source code in src/vgmdb_client/models/album.py
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | |
AlbumSearchResult
¶
Bases: VgmdbModel
A single album entry in search results.
Source code in src/vgmdb_client/models/search.py
10 11 12 13 14 15 16 17 | |
Artist
¶
Bases: VgmdbModel
A vgmdb artist (person or unit), core subset of fields.
type is stored verbatim as vgmdb shows it (e.g. "Person", "Unit"). members lists a unit's
members; units lists the groups a person belongs to. Discography is out of scope this pass.
Source code in src/vgmdb_client/models/artist.py
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | |
ArtistRef
¶
Bases: VgmdbModel
A lightweight pointer to an artist (distinct from the full Artist entity).
Source code in src/vgmdb_client/models/common.py
100 101 102 103 104 105 | |
Credit
¶
Bases: VgmdbModel
An album credit: a normalized role, the verbatim source label, and its artists.
Source code in src/vgmdb_client/models/album.py
27 28 29 30 31 32 | |
Disc
¶
Bases: VgmdbModel
A disc within an album, holding its tracks.
Source code in src/vgmdb_client/models/album.py
19 20 21 22 23 24 | |
Event
¶
Bases: VgmdbModel
A vgmdb event (concert, convention, ...), core subset of fields.
type is stored verbatim when the page shows one. end_date is None for a single-day
event or when no distinct end is shown. Released-album / related lists are out of scope this pass.
Source code in src/vgmdb_client/models/event.py
8 9 10 11 12 13 14 15 16 17 18 19 20 21 | |
EventRef
¶
Bases: VgmdbModel
A lightweight pointer to an event (distinct from the full Event entity).
Source code in src/vgmdb_client/models/common.py
124 125 126 127 128 129 | |
LocalizedText
¶
Bases: RootModel[dict[str, str]]
Multi-language text (language label -> text) with selection helpers.
vgmdb labels languages as e.g. "English", "Japanese", "Romaji"; those labels are stored verbatim.
Source code in src/vgmdb_client/models/common.py
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | |
all
property
¶
The raw language -> text mapping.
default
property
¶
Best available text, preferring English then Romaji, else any; None if empty.
prefer(*languages)
¶
First text among the requested languages, else the default.
Source code in src/vgmdb_client/models/common.py
45 46 47 48 49 50 | |
OrgRef
¶
Bases: VgmdbModel
A lightweight pointer to an organization (distinct from the full Organization entity).
Source code in src/vgmdb_client/models/common.py
116 117 118 119 120 121 | |
Organization
¶
Bases: VgmdbModel
A vgmdb organization (company, doujin circle, label, ...), core subset of fields.
type is stored verbatim (e.g. "Company", "Doujin Circle", "Label"). Released-album lists are
out of scope this pass.
Source code in src/vgmdb_client/models/organization.py
8 9 10 11 12 13 14 15 16 17 18 19 | |
PartialDate
¶
Bases: VgmdbModel
A possibly-incomplete date: a required year with optional month and day.
Source code in src/vgmdb_client/models/common.py
56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 | |
parse(value)
classmethod
¶
Parse YYYY / YYYY-MM / YYYY-MM-DD; return None if unparseable or invalid.
Source code in src/vgmdb_client/models/common.py
85 86 87 88 89 90 91 92 93 94 95 96 97 | |
Product
¶
Bases: VgmdbModel
A vgmdb product (game, franchise, animation, ...), core subset of fields.
type is stored verbatim (e.g. "Game", "Franchise"). franchises lists parent/related
products; organizations lists developers/publishers. Related-album lists are out of scope.
Source code in src/vgmdb_client/models/product.py
10 11 12 13 14 15 16 17 18 19 20 21 22 23 | |
ProductRef
¶
Bases: VgmdbModel
A lightweight pointer to a product (distinct from the full Product entity).
Source code in src/vgmdb_client/models/common.py
108 109 110 111 112 113 | |
Role
¶
Bases: str, Enum
Normalized credit role. OTHER is the conservative fallback.
Source code in src/vgmdb_client/models/roles.py
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | |
SearchResults
¶
Bases: VgmdbModel
Results of an album search.
Source code in src/vgmdb_client/models/search.py
20 21 22 23 24 | |
Track
¶
Bases: VgmdbModel
A single track on a disc.
Source code in src/vgmdb_client/models/album.py
11 12 13 14 15 16 | |
normalize_role(raw)
¶
Map a freeform vgmdb role label to a :class:Role (conservative; unknown -> OTHER).
Source code in src/vgmdb_client/models/roles.py
95 96 97 98 99 100 101 102 103 | |