Skip to content

Releases: johnwmillr/LyricsGenius

3.0.0 - Albums, searching tags, new names, ...

10 Feb 06:50
4b89d42
Compare
Choose a tag to compare

LyricsGenius 3.0.0 is now available.

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.1 - Improvement in finding the lyrics

23 Sep 17:40
0965546
Compare
Choose a tag to compare
  • Switched to using a regular expression instead of iterating BeautifulSoup's tags manually. The regular expression has better performance.
  • Moved getting new_div inside else body to avoid getting new_div if old_div is present.

PR: #154

2.0.0 - Online docs, tests for code styling and a fix for getting lyrics

23 Sep 17:36
0965546
Compare
Choose a tag to compare
  • Added online docs available on Read the Docs
  • Added tests for code styling which use tox and flake8. The docs codes also have their own tests.
  • Fixed finding instances where the lyrics section on the new song page wasn't found (the new_div).

PR: #153

v1.0.0 release after major cleanup and refactoring

01 Dec 22:08
Compare
Choose a tag to compare

This release is a result of the substantial cleanup work in PR #69.

Improvements:

  • Makes substantial clean-ups to API and Genius classes within the api.py
  • Uses the proper exception for catching Timeouts
  • Removes drifting code blocks from search_song
  • Adds support for search_genius_web, the search endpoint used on Genius.com
  • Overhauls search_artist to use the search_genius_web endpoint, improving reliability and robustness of search results
  • Improves the while loop criteria for search_artist
  • Updates README style
  • Minor clean-ups to the song.py and artist.py files (additional work needed)

Additionally, PR #70 introduced the correct Python approach for handling input from the command line.

Have at it!

Clean-ups and updates to lyrics searching

11 Jun 19:09
Compare
Choose a tag to compare

Changes:

  • User-Agent is now "LyricsGenius"
  • Removing section headers in lyrics is optional now
  • Add option to heuristically remove non-songs (tracklists, credits, etc.)
  • Add the _clean_str() method
  • Add a couple tests
  • General bug fixes and clean-ups

Make search case-insensitive

28 Feb 22:49
Compare
Choose a tag to compare

At some point I must have re-introduced a bug that made searching for songs case sensitive. This release fixes that bug. This release also switches the PyPI README file from markdown to RST because PyPI requires RST for proper formatting.

Fixe Unicode bugs (and remove Python 2.x support)

27 Feb 04:57
Compare
Choose a tag to compare

This release should be much more stable with Unicode issues (as identified in #21 and #24).

I've also decided to remove Python 2.x support. It just wasn't playing nice enough with Unicode.

John

First tag for distribution to PyPI

21 Feb 04:27
Compare
Choose a tag to compare

Following Peter Downs's tutorial for publishing a project on PyPI. So this tag gets the package ready for that process.