AGenius.py
is a LyricsGenius fork, making it easy to use, and async ready.
- Pythonic
async
/await
. - Removed every possible instance of the
Public API
to make it safer.
You'll need a free Genius account to get access to
the Genius API. This provides an access_token
that is required.
Python 3.9 or higher You can use pip:
# Linux
python3 -m pip install agenius
# Windows
py -3 -m pip install agenius
Importing the package and initiating the main class:
import agenius
genius = agenius.Genius(token)
PUBLIC_API
has been removed in this version. You have to pass an access token to the Genius()
class.
To search for a specific song, you can either search by the title
or song_id
:
# by title
song = await genius.search_song("Never Gonna Give You Up", "Rick Astley")
# by song_id
song = await genius.search_song(song_id=84851)
You can also look up artists and their songs via artist_id
's:
# look up an artist
artist = await genius.artist(artist_id=artist_id)
# look up their songs
song_list = await genius.artist_songs(artist_id=artist_id, per_page=10, sort="title")
Configurable parameters in the Genius()
class:
genius.verbose = False # Turns status messages off
genius.excluded_terms = ["(Remix)", "(Live)"] # Exclude songs with these words in their title
import agenius
genius = agenius.Genius(token)
song = await genius.search_song("Never Gonna Give You Up")
lyrics = song.lyrics
import agenius
genius = agenius.Genius(token)
async def get_lyrics(artist_id):
song_list = await genius.artist_songs(artist_id, per_page=50, sort="title")
lyrics = {}
async for song in song_list:
lyrics[song["title"]] = song.lyrics
return lyrics
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this program. If not, see https://www.gnu.org/licenses/.