0 purchases
agenius 4.0.2
AGenius.py
AGenius.py is a LyricsGenius fork, making it easy to use, and async ready.
Key Features
Pythonic async/await.
Removed every possible instance of the Public API to make it safer.
Setup
You'll need a free Genius account to get access to
the Genius API. This provides an access_token that is required.
Installation
Python 3.9 or higher
You can use pip:
# Linux
python3 -m pip install agenius
# Windows
py -3 -m pip install agenius
Examples
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
More Examples
Get a song's lyrics
import agenius
genius = agenius.Genius(token)
song = await genius.search_song("Never Gonna Give You Up")
lyrics = song.lyrics
Get a list of an artist's songs, and get the lyrics of every one of them
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
License Notice
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/.
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.