Opinionated & type-safe Python wrapper library for working with https://github.com/VocaDB/vocadb API
Used for:
- https://github.com/Shiroizu/VocaDB-scripts
- Private mod scripts
Installation with https://docs.astral.sh/uv/
uv add git+https://github.com/Shiroizu/VDBpy
Upgrade to the most recent version with:
uv add --upgrade git+https://github.com/Shiroizu/VDBpy
- Function file locations are determined based on the return type instead of the API endpoint
Function cache duration is seen from the function name:
@cache_with_expiration(days=1)
def get_username_by_id_1d(user_id: int, include_usergroup=False) -> str:
@cache_without_expiration()
def get_cached_username_by_id(user_id: int, include_usergroup=False) -> str:TODO-count: 44
- Type-safe entry versions
- AlbumVersion
- ArtistVersion
- SongVersion
- TagVersion
- ReleaseEventVersion
- ReleaseEventSeriesVersion
- VenueVersion
- Simple tests
- Tests for matching entry & version data
- Type safe entries
- SongEntry (test progress 27/27)
- AlbumEntry
- ArtistEntry
- TagEntry
- ReleaseEventEntry
- ReleaseEventSeriesEntry
- VenueEntry
- UserEntry
- SongListEntry
- Add advanced search filters
- Full tests