Skip to main content

Unofficial python wrapper for api.genius.com

Project description

wrap-genius

Version Quality Gate Status CodeCoverage

Unofficial python wrapper for genius.com's API

Setup

wrap-genius is supported on Python 3.8+ and it can be installed using pip.

pip install wrap-genius

To be able to use it, you'll need to create an API client for genius.com and get a CLIENT ACCESS TOKEN.

Quickstart

The genius wrapper library provides a convenient interface to interact with the Genius API, allowing you to search for songs, artists, and retrieve information about them. This documentation will guide you through the available functionalities of the library with examples.

Initialization

To start using the genius wrapper library, you need to initialize an instance of the Genius class. This requires an access token, which you can obtain from the Genius API.

from genius import Genius

g = Genius(access_token="YOUR_ACCESS_TOKEN")

Search All

You can use the search_all method to search for songs or artists. It returns a generator that yields search results. Here are some examples:

# Search for an artist
songs = g.search_all("Dua Lipa", page_limit=1) # page_limit is 10 by default, use conservatively if not needed
print(next(songs).title)  # Get the first song
print([song.title for song in songs])  # Get the rest of the songs

# Search for a song
songs = g.search_all("My Iron Lung", page_limit=1)
print(next(songs).title)

# Search for a song by an artist
songs = g.search_all("White Light Gorillaz", page_limit=1)
print(next(songs).title)

Output:

New Rules
['Scared to Be Lonely', 'Don’t Start Now', 'IDGAF', 'Levitating', 'One Kiss', 'Blow Your Mind (Mwah)', 'Break My Heart', 'Be the One', 'Kiss and Make Up', 'Physical', 'Levitating (Remix)', 'UN DÍA (ONE DAY)', 'Electricity', 'We’re Good', 'Homesick', 'Dua Lipa', 'Love Again', 'Dua Lipa & BLACKPINK - Kiss and Make Up (Romanized)', 'Hotter Than Hell']

My Iron Lung

White Light

Search Artist

You can use the search_artist method to search for an artist by their name. It returns an Artist object representing the artist. Here is an example:

artist = g.search_artist("Radiohead")
print(artist)  # Artist object
print(artist.alternate_names)
print(artist.followers_count)
print(artist.description[:100] + "..." if len(artist.description) > 100 else artist.description)
print(artist.header_image_url)
print(artist.id)
print(artist.name)
print(artist.is_verified)
print(list(itertools.islice(artist.songs, 5)))
print(list(itertools.islice(artist.songs_by_popularity, 5)))
print(artist.url)

Search Song

You can use the search_all method to search for a specific song. It returns a generator that yields song objects. Here is an example:

songs = g.search_all("Karma Police Radiohead", page_limit=1)
song = next(songs)
print(song)  # Song object
print(song.album)
print(song.artist)
print(song.pageviews)
print(song.song_art_image_url)
print(song.title)
print(song.title_with_featured)
print(song.hot)
print(song.description)
print(song.recording_location)
print(song.release_date)
print(song.release_date_for_display)
print(song.features)
print(song.media)
print(song.writers)
print(song.producers)
print(song.samples)
print(song.sampled_in)
print(song.interpolates)
print(song.interpolated_by)
print(song.is_cover)
print(song.is_live)
print(song.is_remix)
print(song.cover_of)
print(song.covered_by)
print(song.remix_of)
print(song.remixed_by)
print(song.live_version_of)
print(song.performed_live_as)
print("\n".join(song.lyrics))

Get Artist Information

You can use the get_artist method to retrieve detailed information about an artist by their ID. Here is an example:

artist = g.get_artist(604)
print(artist)  # Artist object

Get Song Information

You can use the get_song method to retrieve detailed information about a song by its ID. Here is an example:

song = g.get_song(378195)
print(song)  # Song object

Get Album Information

You can use the get_all_album_songs method to retrieve information about an album by the artist's ID. Here is an example:

song=g.get_song(378195)
album = song.album
print(album.name)
print(album.artist)
print(album.cover_art_url)
print(album.id)
print(album.url)
print(list(album.songs))

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wrap_genius-1.9.1.tar.gz (10.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wrap_genius-1.9.1-py3-none-any.whl (12.3 kB view details)

Uploaded Python 3

File details

Details for the file wrap_genius-1.9.1.tar.gz.

File metadata

  • Download URL: wrap_genius-1.9.1.tar.gz
  • Upload date:
  • Size: 10.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.3.2 CPython/3.12.3 Linux/6.14.0-1017-azure

File hashes

Hashes for wrap_genius-1.9.1.tar.gz
Algorithm Hash digest
SHA256 8caef24dac7f164189957b4d4538846ec5e143057ea09ca5d3051d599e7bfe8d
MD5 33cedcd7e1d56e019ee7543375341354
BLAKE2b-256 f7a114925be8f0ea0cbee1dabdd374ac4da0957501b4179a1d22b4b0463d043b

See more details on using hashes here.

File details

Details for the file wrap_genius-1.9.1-py3-none-any.whl.

File metadata

  • Download URL: wrap_genius-1.9.1-py3-none-any.whl
  • Upload date:
  • Size: 12.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.3.2 CPython/3.12.3 Linux/6.14.0-1017-azure

File hashes

Hashes for wrap_genius-1.9.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1efa1d8fde16cd7a4c4239283a5e74befbbda9c2430015814919bb39e45bd740
MD5 3cbc83922559401405d58bfb3468f711
BLAKE2b-256 cf34d0d1dc6760e4830303dfb8dba86080cbc1836d54a149b0c541ba8bb0a7d0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page