tag:github.com,2008:https://github.com/johnwmillr/LyricsGenius/releasesRelease notes from LyricsGenius2024-12-22T03:31:42Ztag:github.com,2008:Repository/96547310/v3.2.02024-12-23T03:35:16Zv3.2.0 - Bug fixes and general improvements<p>Small improvements and bug fixes.</p>johnwmillrtag:github.com,2008:Repository/96547310/3.0.02021-02-10T06:50:33Z3.0.0 - Albums, searching tags, new names, ...<p>LyricsGenius 3.0.0 is now available.</p>
<h1>New</h1>
<ul>
<li>All requests now go through the <code>Sender</code> object. This provides features such as retries <code>genius.retries</code> and handling HTTP and timeout errors. For more info have a look at the guide about <a href="https://lyricsgenius.readthedocs.io/en/master/other_guides.html#request-errors" rel="nofollow">request error handling</a>.</li>
<li>Added <code>OAuth2</code> class to help with OAuth2 authentication.</li>
<li>Added <code>PublicAPI</code> class to allow accessing methods of the public API (genius.com/api). Check <a href="https://lyricsgenius.readthedocs.io/en/latest/reference/genius.html" rel="nofollow">this page</a> for a list of available methods.</li>
<li>Added the <code>Album</code> type and the <code>genius.search_album()</code> method.</li>
<li>Added the <code>genius.tag()</code> method to get songs by tag.</li>
<li>All API endpoints are now supported (e.g. <code>upvote_annotation</code>).</li>
<li>New additions to the docs.</li>
</ul>
<h1>Changed</h1>
<ul>
<li><code>GENIUS_CLIENT_ACCESS_TOKEN</code> env var has been renamed to <code>GENIUS_ACCESS_TOKEN</code>.</li>
<li><code>genius.client_access_token</code> has been renamed to <code>genius.access_token</code>.</li>
<li><code>genius.search_song()</code> will also accept <code>song_id</code>.</li>
<li>Lyrics won't be fetched for instrumental songs and their lyrics will be set to <code>""</code>. You can check to see if a song is instrumental using <code>Song.instrumental</code>.</li>
<li>Renamed all interface methods to remove redundant <code>get_</code> (<code>genius.get_song</code> is now <code>genius.song</code>).</li>
<li>Renamed the lyrics method to <code>genius.lyrics()</code> to allow use by users. It accepts song URLs and song IDs.</li>
<li>Reformatted the types. Some attributes won't be available anymore. More info on the <a href="https://lyricsgenius.readthedocs.io/en/latest/reference/types.html#types" rel="nofollow">types page</a>.</li>
<li><code>save_lyrics()</code> will save songs with <code>utf8</code> encoding when <code>extension='txt'</code>.</li>
<li>Using <code>Genius()</code> will check for the env var <code>GENIUS_ACCESS_TOKEN</code>.</li>
</ul>
<h1>Other (CI, etc)</h1>
<ul>
<li>Bumped <code>Sphinx</code> to 3.3.0</li>
</ul>allertertag:github.com,2008:Repository/96547310/2.0.22020-09-26T19:15:46Z2.0.2: Merge branch 'Allerter-public_api'<p>Adds the PublicAPI class which covers the public endpoints available at genius.com/api.</p>johnwmillrtag:github.com,2008:Repository/96547310/2.0.12020-09-26T06:31:00Z2.0.1 - Improvement in finding the lyrics<ul>
<li>Switched to using a regular expression instead of iterating BeautifulSoup's tags manually. The regular expression has better performance.</li>
<li>Moved getting <code>new_div</code> inside <code>else</code> body to avoid getting <code>new_div</code> if <code>old_div</code> is present.</li>
</ul>
<p>PR: <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="684224609" data-permission-text="Title is private" data-url="https://github.com/johnwmillr/LyricsGenius/issues/154" data-hovercard-type="pull_request" data-hovercard-url="/johnwmillr/LyricsGenius/pull/154/hovercard" href="https://github.com/johnwmillr/LyricsGenius/pull/154">#154</a></p>allertertag:github.com,2008:Repository/96547310/2.0.02020-09-26T06:31:14Z2.0.0 - Online docs, tests for code styling and a fix for getting lyrics<ul>
<li>Added online docs available on <a href="https://lyricsgenius.readthedocs.io/en/master/" rel="nofollow">Read the Docs</a></li>
<li>Added tests for code styling which use <code>tox</code> and <code>flake8</code>. The docs codes also have their own tests.</li>
<li>Fixed finding instances where the lyrics section on the new song page wasn't found (the <code>new_div</code>).</li>
</ul>
<p>PR: <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="682911799" data-permission-text="Title is private" data-url="https://github.com/johnwmillr/LyricsGenius/issues/153" data-hovercard-type="pull_request" data-hovercard-url="/johnwmillr/LyricsGenius/pull/153/hovercard" href="https://github.com/johnwmillr/LyricsGenius/pull/153">#153</a></p>allertertag:github.com,2008:Repository/96547310/1.0.02019-02-09T21:50:14Zv1.0.0 release after major cleanup and refactoring<p>This release is a result of the substantial cleanup work in PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="386076067" data-permission-text="Title is private" data-url="https://github.com/johnwmillr/LyricsGenius/issues/69" data-hovercard-type="pull_request" data-hovercard-url="/johnwmillr/LyricsGenius/pull/69/hovercard" href="https://github.com/johnwmillr/LyricsGenius/pull/69">#69</a>.</p>
<p>Improvements:</p>
<ul>
<li>Makes substantial clean-ups to API and Genius classes within the <code>api.py</code></li>
<li>Uses the proper exception for catching Timeouts</li>
<li>Removes drifting code blocks from <code>search_song</code></li>
<li>Adds support for <code>search_genius_web</code>, the search endpoint used on Genius.com</li>
<li>Overhauls <code>search_artist</code> to use the <code>search_genius_web</code> endpoint, improving reliability and robustness of search results</li>
<li>Improves the while loop criteria for <code>search_artist</code></li>
<li>Updates README style</li>
<li>Minor clean-ups to the <code>song.py</code> and <code>artist.py</code> files (additional work needed)</li>
</ul>
<p>Additionally, PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="386500862" data-permission-text="Title is private" data-url="https://github.com/johnwmillr/LyricsGenius/issues/70" data-hovercard-type="pull_request" data-hovercard-url="/johnwmillr/LyricsGenius/pull/70/hovercard" href="https://github.com/johnwmillr/LyricsGenius/pull/70">#70</a> introduced the correct Python approach for handling input from the command line.</p>
<p>Have at it!</p>johnwmillrtag:github.com,2008:Repository/96547310/v1.0.02018-12-01T21:58:54Zv1.0.0<p>Update to v1.0.0</p>johnwmillrtag:github.com,2008:Repository/96547310/0.52018-06-11T19:09:05ZClean-ups and updates to lyrics searching<p>Changes:</p>
<ul>
<li>User-Agent is now "LyricsGenius"</li>
<li>Removing section headers in lyrics is optional now</li>
<li>Add option to heuristically remove non-songs (tracklists, credits, etc.)</li>
<li>Add the _clean_str() method</li>
<li>Add a couple tests</li>
<li>General bug fixes and clean-ups</li>
</ul>johnwmillrtag:github.com,2008:Repository/96547310/0.4.22018-03-26T01:25:49Z0.4.2<p>Change PyPI readme to markdown</p>johnwmillrtag:github.com,2008:Repository/96547310/0.4.12018-02-28T22:49:01ZMake search case-insensitive<p>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 <code>markdown</code> to <code>RST</code> because PyPI requires <code>RST</code> for proper formatting.</p>johnwmillr