LyricsGenius 3.0.0 is now available.
New
- All requests now go through the
Sender
object. This provides features such as retriesgenius.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 thegenius.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 toGENIUS_ACCESS_TOKEN
.genius.client_access_token
has been renamed togenius.access_token
.genius.search_song()
will also acceptsong_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 usingSong.instrumental
. - Renamed all interface methods to remove redundant
get_
(genius.get_song
is nowgenius.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 withutf8
encoding whenextension='txt'
.- Using
Genius()
will check for the env varGENIUS_ACCESS_TOKEN
.
Other (CI, etc)
- Bumped
Sphinx
to 3.3.0