Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Minim 1.0.0 release #4

Open
26 of 29 tasks
bbye98 opened this issue Oct 24, 2023 · 3 comments
Open
26 of 29 tasks

Minim 1.0.0 release #4

bbye98 opened this issue Oct 24, 2023 · 3 comments
Assignees

Comments

@bbye98
Copy link
Owner

bbye98 commented Oct 24, 2023

There are a few ambitious overhauls I'd like to do before the 1.0.0 release of Minim:

General

  • Update documentation to have consistency between the different submodules, with the Spotify one being used as a baseline.
  • Shorten repository README by moving most of the usage and installation instructions to the documentation and adding simple examples of the existing APIs.
  • Enable continuous integration via GitHub Actions.
  • Add user guides to showcase how Minim can be used: editing audio metadata, getting recommendations, and transferring music libraries.
  • Add the Gestalt or Ratcliff–Obershelp ratio from difflib.
  • Enforce rate limits for all APIs.

Audio

  • Rewrite the from_<service> methods for the updated Spotify, TIDAL, and Qobuz APIs.

Discogs

  • Finish implementation.

iTunes

  • Wrap endpoints in the minim.itunes.SearchAPI class.
  • Add response status code checking.
  • Add sample responses from endpoints.

Qobuz

  • Add sample responses from endpoints.
  • Implement client credential storage.
  • 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.)
  • Write unit tests for endpoints that do not require authentication.

Spotify

  • Refactor Spotify Web API OAuth 2.0 authorization flows.
  • Add Playwright authentication route for minim.spotify.PrivateLyricsService.
  • Implement client credential storage.
  • Fix/enhance logic for storing/updating Spotify client credentials.
  • Write unit tests for endpoints that do not require authentication.

TIDAL

  • Add support for the new open TIDAL API.
  • Add sample responses from endpoints for the new open TIDAL API.
  • Implement client credential storage for the new open TIDAL API.
  • Refactor the existing private TIDAL API.
  • Add sample responses from endpoints for the existing private TIDAL API.
  • Implement client credential storage for the existing private TIDAL API.
  • Figure out which clients can use which authorization flows.
  • Figure out which endpoints are enabled by the three possible authorization scopes.
  • 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?
@fabien4444
Copy link

Hello
Shazam API is on the roadmap?

@bbye98
Copy link
Owner Author

bbye98 commented Dec 9, 2023

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

@ovenCode
Copy link

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants