Release notes

3.0.0 (2021-02-08)

New

  • All requests now go through the Sender object. This provides features such as retries genius.retries and handling HTTP and timeout errors. For more info have a look at the guide about request error handling.

  • Added OAuth2 class to help with OAuth2 authentication.

  • Added PublicAPI class to allow accessing methods of the public API (genius.com/api). Check this page for a list of available methods.

  • Added the Album type and the genius.search_album() method.

  • Added the genius.tag() method to get songs by tag.

  • All API endpoints are now supported (e.g. upvote_annotation).

  • New additions to the docs.

Changed

  • GENIUS_CLIENT_ACCESS_TOKEN env var has been renamed to GENIUS_ACCESS_TOKEN.

  • genius.client_access_token has been renamed to genius.access_token.

  • genius.search_song() will also accept song_id.

  • Lyrics won’t be fetched for instrumental songs and their lyrics will be set to "". You can check to see if a song is instrumental using Song.instrumental.

  • Renamed all interface methods to remove redundant get_ (genius.get_song is now genius.song).

  • Renamed the lyrics method to genius.lyrics() to allow use by users. It accepts song URLs and song IDs.

  • Reformatted the types. Some attributes won’t be available anymore. More info on the types page.

  • save_lyrics() will save songs with utf8 encoding when extension='txt'.

  • Using Genius() will check for the env var GENIUS_ACCESS_TOKEN.

Other (CI, etc)

  • Bumped Sphinx to 3.3.0

2.0.2 (2020-09-26)

Added

2.0.1 (2020-09-20)

Changed