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
59 lines
1.5 KiB
Markdown
59 lines
1.5 KiB
Markdown
# 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 metadata
|
|
- `minim.discogs` - Discogs API client (OAuth support)
|
|
- `minim.itunes` - iTunes Search API client
|
|
- `minim.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
|
|
|
|
```python
|
|
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
|
|
|
|
```bash
|
|
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
|