Download lyrics and metadata from Genius.com
Project description
LyricsGenius: a Python client for the Genius.com API
lyricsgenius
provides a simple interface to the song, artist, and lyrics data stored on Genius.com.
Setup
Before using this package you'll need to sign up for a (free) account that authorizes access to the Genius API. The Genius account provides a client_access_token
that is required by the package. See the Usage section below for examples.
Installation
lyricsgenius
requires Python 3.
Install the package from PyPI using pip
:
pip install lyricsgenius
Or, install the latest version from GitHub:
pip install git+https://github.com/johnwmillr/LyricsGenius.git
Thanks to hendrimat, the package is also available for Arch Linux via the AUR:
curl -L -O https://aur.archlinux.org/cgit/aur.git/snapshot/python-lyricsgenius.tar.gz
tar -xvf python-lyricsgenius.tar.gz
cd python-lyricsgenius
makepkg -si
Usage
Import the package and search for songs by a given artist:
import lyricsgenius
genius = lyricsgenius.Genius("my_client_access_token_here")
artist = genius.search_artist("Andy Shauf", max_songs=3, sort="title")
print(artist.songs)
Search for a single song by the same artist:
song = genius.search_song("To You", artist.name)
print(song.lyrics)
Add the song to the artist object:
artist.add_song(song)
Save the artist's songs to a JSON file:
artist.save_lyrics()
There are various options configurable as parameters within the Genius
class:
genius.verbose = False # Turn off status messages
genius.remove_section_headers = True # Remove section headers (e.g. [Chorus]) from lyrics when searching
genius.skip_non_songs = False # Include hits thought to be non-songs (e.g. track lists)
genius.excluded_terms = ["(Remix)", "(Live)"] # Exclude songs with these words in their title
You can also call the package from the command line:
export GENIUS_CLIENT_ACCESS_TOKEN="my_client_access_token_here"
python3 -m lyricsgenius --help
Search for and save lyrics to a given song:
python3 -m lyricsgenius song "Begin Again" "Andy Shauf" --save
Search for five songs by 'The Beatles' and save the lyrics:
python3 -m lyricsgenius artist "The Beatles" --max-songs 5 --save
Example projects
- Trucks and Beer: A textual analysis of popular country music
- What makes some blink-182 songs more popular than others?
- Sentiment analysis on hip-hop lyrics
- Does Country Music Drink More Than Other Genres?
- 49 Years of Lyrics: Why So Angry?
Contributing
Please contribute! If you want to fix a bug, suggest improvements, or add new features to the project, just open an issue or send me a pull request.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for lyricsgenius-1.3.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eb66ab3a5bee352e182de067803986ea03375c591602b050135527390cda6ab9 |
|
MD5 | f84a6e4ce410fd48570f2412a1dc25f7 |
|
BLAKE2b-256 | e4c4e1bbeda51695a3c85e2d873097a3a5b23cf957e4f154ed0b76ddc0aba8ac |