minim
minim copied to clipboard
Minim 1.0.0 release
There are a few ambitious overhauls I'd like to do before the 1.0.0 release of Minim:
General
- [x] Update documentation to have consistency between the different submodules, with the Spotify one being used as a baseline.
- [x] Shorten repository README by moving most of the usage and installation instructions to the documentation and adding simple examples of the existing APIs.
- [x] Enable continuous integration via GitHub Actions.
- [x] Add user guides to showcase how Minim can be used: editing audio metadata, getting recommendations, and transferring music libraries.
- [x] Add the Gestalt or Ratcliff–Obershelp ratio from
difflib. - [ ] Enforce rate limits for all APIs.
Audio
- [x] Rewrite the
from_<service>methods for the updated Spotify, TIDAL, and Qobuz APIs.
Discogs
- [ ] Finish implementation.
iTunes
- [x] Wrap endpoints in the
minim.itunes.SearchAPIclass. - [x] Add response status code checking.
- [x] Add sample responses from endpoints.
Qobuz
- [x] Add sample responses from endpoints.
- [x] Implement client credential storage.
- [x] Gracefully deprecate/remove Qobuz objects. (Ultimately, this doesn't fall in line with what I envision Minim to be--a simple interface to interact with music service APIs.)
- [x] Write unit tests for endpoints that do not require authentication.
Spotify
- [x] Refactor Spotify Web API OAuth 2.0 authorization flows.
- [ ] Add Playwright authentication route for
minim.spotify.PrivateLyricsService. - [x] Implement client credential storage.
- [x] Fix/enhance logic for storing/updating Spotify client credentials.
- [x] Write unit tests for endpoints that do not require authentication.
TIDAL
- [x] Add support for the new open TIDAL API.
- [x] Add sample responses from endpoints for the new open TIDAL API.
- [x] Implement client credential storage for the new open TIDAL API.
- [x] Refactor the existing private TIDAL API.
- [x] Add sample responses from endpoints for the existing private TIDAL API.
- [x] Implement client credential storage for the existing private TIDAL API.
- [x] Figure out which clients can use which authorization flows.
- [x] Figure out which endpoints are enabled by the three possible authorization scopes.
- [x] Write unit tests for endpoints that do not require authentication.
Planned for future release(s)
- Add support for more APIs, like the Amazon Music, Beatport, Deezer, Discogs, Last.fm, MusicBrainz, SoundCloud, and YouTube Music APIs.
- Maybe add asynchronous I/O for certain endpoints using
asyncio?
Hello Shazam API is on the roadmap?
@fabien4444 There are no plans for implementing the private Shazam API at this time, but things could change in the future!
Hi, don't really know, where can I ask this apart from here, but how do i get/extract those Tidal credentials for Private API:
`
..hint::
Client credentials can be extracted from the software you use to
access TIDAL, including but not limited to the TIDAL Web Player
and the Android, iOS, macOS, and Windows applications.Only the
TIDAL Web Player and desktop application client credentials can
be used without authorization.`
Thanks for your work, really appreciated