feat: initial implementation of metadata aggregator
- 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
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user