a1f6701bac
- gRPC service with MusicBrainz provider - PostgreSQL schema with migrations - Service layer with database-first caching - Repository pattern for data access - YAML configuration support - Research documentation for 17 music metadata projects
1.5 KiB
1.5 KiB
minim
Overview
A lightweight Python library providing unified client interface to 7 music service APIs for media information retrieval and semi-automated music tagging.
Key Features
- APIs: Deezer, Discogs, iTunes, Musixmatch, Qobuz, Spotify, TIDAL
- Purpose: Unified interface for metadata retrieval
- Tagging: Semi-automated music file tagging
- License: MIT
Source
| Resource | URL |
|---|---|
| Repository | https://github.com/bbye98/minim |
| Documentation | https://bbye98.github.io/minim |
| PyPI | https://pypi.org/project/minim |
Modules
minim.audio- Audio file handlers for reading/writing metadataminim.discogs- Discogs API client (OAuth support)minim.itunes- iTunes Search API clientminim.qobuz- Qobuz API client (password auth)minim.spotify- Spotify Web API client (multiple grant types)minim.tidal- TIDAL API client (old and new APIs)
Usage Example
from minim import spotify, itunes, tidal
# Search across services
client_spotify = spotify.WebAPI()
result = client_spotify.search("Galantis", "artist", limit=1)
client_itunes = itunes.SearchAPI()
result = client_itunes.search("Galantis", entity="musicArtist", limit=1)
client_tidal = tidal.API()
result = client_tidal.search("Galantis", type="artist", limit=1)
Installation
pip install minim
Notes
- Unified Python interface to multiple services
- OAuth support with token caching
- Audio format conversion support
- Best for building Python applications that need multi-source lookup