Lyricsgenius

Latest version: v3.0.1

Safety actively analyzes 621751 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 2

3.0.0

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](https://lyricsgenius.readthedocs.io/en/master/other_guides.html#request-errors).
- 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](https://lyricsgenius.readthedocs.io/en/latest/reference/genius.html) 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](https://lyricsgenius.readthedocs.io/en/latest/reference/types.html#types).
- `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

- 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

- Added online docs available on [Read the Docs](https://lyricsgenius.readthedocs.io/en/master/)
- 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

1.0.0

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!

0.5

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

0.4.1

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.

Page 1 of 2

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.