Skip to main content

A lightweight python client for the spotify

Project description

WrapperSpotify

This is light weight python wrapper for the spotify api. Ligh weight as it doesn't currently expose methods for all the endpoint functionality provided by sportify, just a few. This wrapper client uses the client credential workflow hence does not expose methods for any fuctionality that require user scope or authorization(yet).

Features

  • Handles token generation for you
  • Automatically refreshes tokens if they expire
  • Exposes methods to allow you to query the sportify api easily

Usage

  • Install with pip
pip install WrapperSpotify

search for artist

  • create a dictionary with client credentials
  • initialize client object
  • call method with artist name
    import WrapperSpotify 
    credentials = {
        "ClientID":os.getenv("ClientID"),
        "ClientSecret":os.getenv("ClientSecret")
    }

    client = WrapperSpotify.Client(credentials)
    results = client.artist_search("artist name")
    

The artist_search method takes some optional arguments

  • filter set to true by default. filters out the results returned from api inti a smaller size. providing only some info such as artist id, profile , images etch when set to false , results is not filtered and giant results from api is returned to you

results = client.artist_search("artist name", filter=False)

  • limit set to 1 by default so results for only one artist is returned. You can increase range of results returned by increasing it . check spotify api docs for detailed explanation

results = client.artist_search("artist name", Limit=5) will return results for 5 differents artist which matches your artist name argument

search for track

  • create a dictionary with client credentials
  • initialize client object
  • call method with track name
import WrapperSpotify
credentials = {
        "ClientID":os.getenv("ClientID"),
        "ClientSecret":os.getenv("ClientSecret")
    }

    client = WrapperSpotify.Client(credentials)
    results = client.track_search("track name")
    

The track_search method takes some optional arguments

  • filter set to true by default. filters out the results returned from api inti a smaller size. providing only some info such as artist id, profile , images etch when set to false , results is not filtered and giant results from api is returned to you

results = client.artist_search("artist name", filter=False)

  • limit set to 1 by default so results for only one artist is returned. You can increase range of results returned by increasing it . check spotify api docs for detailed explanation

results = client.artist_search("artist name", Limit=5)

search for related artist

  • create a dictionary with client credentials
  • initialize client object
  • call method with artist id
    import WrapperSpotify
    credentials = {
        "ClientID":os.getenv("ClientID"),
        "ClientSecret":os.getenv("ClientSecret")
    }

    client = WrapperSpotify.Client(credentials)
    results = client.get_related_artists("artist id")
    

check api docs for detailed explanation

search for track recommendations

  • create a dictionary with client credentials
  • initialize client object
  • call method with dictionary containing query parameter keys and their values
    import WrapperSpotify
    credentials = {
        "ClientID":os.getenv("ClientID"),
        "ClientSecret":os.getenv("ClientSecret")
    }

    client = WrapperSpotify.Client(credentials)

    options =  {
        "seed_artists":"5K4W6rqBFWDnAN6FQUkS6x",
        "seed_genres":"alt-rock",
        "seed_tracks":"6MXXY2eiWkpDCezVCc0cMH,"

    }

    results = client.get_recommendations(options)
    

seed_artists,seed_genres and seed_tracks are required parameters for this endpoint and have to be added or an exception will be thrown. you can specify other parameters to filter recommendations by . check api docs

search for available genres

  • create a dictionary with client credentials
  • initialize client object
    import WrapperSpotify
    credentials = {
        "ClientID":os.getenv("ClientID"),
        "ClientSecret":os.getenv("ClientSecret")
    }

    client = WrapperSpotify.Client(credentials)
    results = client.get_avilable_genres()
    

check api docs for detailed explanation

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

WrapperSpotify-1.0.6.tar.gz (4.8 kB view hashes)

Uploaded Source

Built Distribution

WrapperSpotify-1.0.6-py3-none-any.whl (5.0 kB view hashes)

Uploaded Python 3

Supported by

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