LlamaIndex Readers Integration: Genius
pip install llama-index-readers-genius
This loader connects to the Genius API and loads lyrics, metadata, and album art into Documents.
As a prerequisite, you will need to register with Genius API and create an app in order to get a client_id and a client_secret. You should then set a redirect_uri for the app. The redirect_uri does not need to be functional. You should then generate an access token as an instantiator for the GeniusReader.
Usage
Here's an example usage of the GeniusReader. It will retrieve songs that match specific lyrics. Acceptable arguments are lyrics (str): The lyric snippet you're looking for and will return List[Document]: A list of documents containing songs with those lyrics.
GeniusReader Class Methods
load_artist_songs
- Description: Fetches all or a specified number of songs by an artist.
- Arguments:
artist_name(str): The name of the artist.max_songs(Optional[int]): Maximum number of songs to retrieve.
- Returns: List of
Documentobjects with song lyrics.
load_all_artist_songs
- Description: Fetches all songs of an artist and saves their lyrics.
- Arguments:
artist_name(str): The name of the artist.
- Returns: List of
Documentobjects with the artist's song lyrics.
load_artist_songs_with_filters
- Description: Loads the most or least popular song of an artist based on filters.
- Arguments:
artist_name(str): The artist's name.most_popular(bool):Truefor most popular song,Falsefor least popular.max_songs(Optional[int]): Max number of songs to consider for popularity.max_pages(int): Max number of pages to fetch.
- Returns:
Documentwith lyrics of the selected song.
load_song_by_url_or_id
- Description: Loads a song by its Genius URL or ID.
- Arguments:
song_url(Optional[str]): URL of the song on Genius.song_id(Optional[int]): ID of the song on Genius.
- Returns: List of
Documentobjects with the song's lyrics.
search_songs_by_lyrics
- Description: Searches for songs by a snippet of lyrics.
- Arguments:
lyrics(str): Lyric snippet to search for.
- Returns: List of
Documentobjects with songs matching the lyrics.
load_songs_by_tag
- Description: Loads songs by a specific tag or genre.
- Arguments:
tag(str): Tag or genre to search for.max_songs(Optional[int]): Max number of songs to fetch.max_pages(int): Max number of pages to fetch.
- Returns: List of
Documentobjects with song lyrics.
from llama_index.readers.genius import GeniusReader
access_token = "your_generated_access_token"
loader = GeniusReader(access_token)
documents = loader.search_songs_by_lyrics("Imagine")
Example
This loader is designed to be used as a way to load data into LlamaIndex.
LlamaIndex
from llama_index.core import VectorStoreIndex, download_loader
from llama_index.readers.genius import GeniusReader
access_token = "your_generated_access_token"
loader = GeniusReader(access_token)
documents = loader.search_songs_by_lyrics("Imagine")
index = VectorStoreIndex.from_documents(documents)
index.query(
"What artists have written songs that have the lyrics imagine in them?"
)
Metadata
Release files for llama-index-readers-genius 0.6.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| llama_index_readers_genius-0.6.0.tar.gz | 5.2 kB | Without provenance | Details for llama_index_readers_genius-0.6.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| llama_index_readers_genius-0.6.0-py3-none-any.whl | Python 3 | none | any | Details for llama_index_readers_genius-0.6.0-py3-none-any.whl |
Total release size: 10.2 kB
Release files / llama_index_readers_genius-0.6.0.tar.gz
| Download URL | llama_index_readers_genius-0.6.0.tar.gz |
|---|---|
| Size | 5.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
afb146126fb1c4cfda80205d1906f6a5d5266658397e174bd5cbd9025a19c1b1
|
|
BLAKE2b-256 checksum How to use checksums |
8dba4992c45445eb11362bfb62977590a6ba86796af55110b4b6b485484a8c82
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / llama_index_readers_genius-0.6.0-py3-none-any.whl
| Download URL | llama_index_readers_genius-0.6.0-py3-none-any.whl |
|---|---|
| Size | 4.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f65c9f01912fb8d48442eb4d35387859727ba89de7fe885877a14002194d658d
|
|
BLAKE2b-256 checksum How to use checksums |
61958872b8b2531defb9166de21655b161f271ca6e82b8acad9a00369522aa6b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for llama-index-readers-genius 0.6.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.