Skip to content

Minim 2.0.0 #26

@bbye98

Description

@bbye98

Thanks so much to everyone who has showed interest in and/or used Minim. I never thought it would receive this much attention! After all, this is just a personal project that I released in the hopes that others who might want to interact with a bunch of different music streaming service provider APIs using Python might find useful.

An unfortunate consequence of my shortsightedness means that a large portion of the repository is now either out-of-date, not working, or written in such a way that is considered un-Pythonic. As such, I am planning a complete rewrite over on the dev branch that will fix existing bugs and have many new features, and when finished, be released as Minim 2.0.0.

Minim 1.1.0 and 2.0.0 will be developed concurrently. Minim 1.1.0 (main branch) will receive updates to the TIDAL and Discogs APIs to make them feature-complete, but will stop receiving major updates past that.

Below is a non-exhaustive list of completed refactors and to-dos.

Done

  • Bring the Discogs API up to date.
  • Bring the iTunes Search API up to date.
  • Bring the Spotify Web API up to date.
  • Bring the TIDAL API up to date.
  • Bring the private TIDAL API up to date.
  • Bring the private Qobuz API up to date.
  • Switch from requests to the more modern httpx HTTP library.
  • Allow multiple accounts through user identifiers.
  • Implement a SQLite database to store tokens and their related metadata.
  • Implement TTL cache with LRU eviction policy to avoid redundant API requests.
  • Implement some sort of leaky bucket algorithm for rate limit management.
  • Introduce sections to APIs for better grouping, e.g., minim.spotify.WebAPI.get_tracks() --> minim.spotify.WebAPI.tracks.get_tracks().
  • Add the Deezer API.
  • Add the Musixmatch Lyrics API.

Planned

  • Add the MusicBrainz API.
  • Add the Last.fm API.

Nice-to-haves/Future releases

  • Add the Apple Music API. (Not really inclined to eat the developer subscription costs at this moment...)
  • Add the Amazon Music API when it becomes available to the public.
  • Add Whisper for lyrics transcription.
  • Introduce an experimental Qt GUI that provides a code-free way of updating track metadata and searching APIs.
  • Replace the bulky Mutagen library with new lightweight audio file readers and writers.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions