WrapperSpotify

A lightweight python client for the spotify


Keywords
python3, spotify-api, wrapper-api
License
MIT
Install
pip install WrapperSpotify==1.0.6

Documentation

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
    from WrapperSpotify 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
from WrapperSpotify 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
    from WrapperSpotify 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
    from WrapperSpotify 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
    from WrapperSpotify 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