minim icon indicating copy to clipboard operation
minim copied to clipboard

Minim 1.0.0 release

Open bbye98 opened this issue 2 years ago • 3 comments

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.SearchAPI class.
  • [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?

bbye98 avatar Oct 24 '23 08:10 bbye98

Hello Shazam API is on the roadmap?

fabien4444 avatar Dec 09 '23 13:12 fabien4444

@fabien4444 There are no plans for implementing the private Shazam API at this time, but things could change in the future!

bbye98 avatar Dec 09 '23 20:12 bbye98

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

ovenCode avatar Mar 12 '24 22:03 ovenCode