A light weight Python library for the Spotify Web API
Go to file
Mike iLL Kilmer 004df7b2df
A few updates to the example app (#540)
* No username needed + can be used by multiple users

* cleanup

* Remove caches when signing out

* Persist token only once

* Always show auth page

* Add one scope..

* Add a second scope and also a view which utilizes a scope.

* Add a __main__ clause example.

* Include further documentation.

* Move utility function higher in document.

* Add threading to application run call in __main__.

* Add (or reinstate–I thought it had been there) the "me" view.

* Add notes about SPOTIPY_REDIRECT_URI and using alternate port.

And specify that it should be the address that the App runs over.

* Whitespace only.

* Here is an example of importing credentials.

* Delete session_cache file on logout so new user can Authorize.

* Not going to use at this point.

* Update the "me" route method to use new approach to auth.

* Update app.py

Co-authored-by: Stephane Bruckert <contact@stephanebruckert.com>
Co-authored-by: Stephane Bruckert <stephane.bruckert@gmail.com>
2020-07-30 23:05:47 +01:00
.github Update issue templates 2020-06-15 21:22:08 +01:00
docs Deprecate util.prompt_for_user_token() 2020-06-14 18:01:14 +01:00
examples A few updates to the example app (#540) 2020-07-30 23:05:47 +01:00
spotipy Added the parameter collaborative to user_playlist_create and "collaborative" key into data (#546) 2020-07-27 06:49:30 +01:00
tests Adding Initial PKCE Auth Flow Support (#542) 2020-07-21 17:08:09 +01:00
.gitignore Update recommendations doc, fixes #290 2020-02-22 13:08:26 +00:00
CHANGELOG.md Update CHANGELOG.md 2020-07-27 06:51:21 +01:00
CONTRIBUTING.md Update contributing 2020-04-11 13:43:54 +01:00
FAQ.md Deprecate util.prompt_for_user_token() 2020-06-14 18:01:14 +01:00
LICENSE.md Bump to 2.6.0 2020-01-12 14:42:52 +00:00
MANIFEST.in Release with CHANGELOG + LICENSE, solves #454 2020-03-18 20:34:22 +00:00
README.md Update Issues section 2020-06-15 21:28:13 +01:00
setup.py Bump to 2.13.0 2020-06-25 22:04:44 +01:00
tox.ini Linting of core subpackage + clean up imports (#437) 2020-02-09 12:59:20 +00:00

Spotipy

A light weight Python library for the Spotify Web API

Tests Documentation Status

Documentation

Spotipy's full documentation is online at Spotipy Documentation.

Installation

pip install spotipy

or upgrade

pip install spotipy --upgrade

Quick Start

A full set of examples can be found in the online documentation and in the Spotipy examples directory.

To get started, install spotipy and create an app on https://developers.spotify.com/. Add your new ID and SECRET to your environment:

Without user authentication

export SPOTIPY_CLIENT_ID=client_id_here
export SPOTIPY_CLIENT_SECRET=client_secret_here

// on Windows, use `SET` instead of `export`
import spotipy
from spotipy.oauth2 import SpotifyClientCredentials

sp = spotipy.Spotify(auth_manager=SpotifyClientCredentials())

results = sp.search(q='weezer', limit=20)
for idx, track in enumerate(results['tracks']['items']):
    print(idx, track['name'])

With user authentication

export SPOTIPY_CLIENT_ID=client_id_here
export SPOTIPY_CLIENT_SECRET=client_secret_here
export SPOTIPY_REDIRECT_URI=redirect_uri_here

// on Windows, use `SET` instead of `export`
import spotipy
from spotipy.oauth2 import SpotifyOAuth

scope = "user-library-read"

sp = spotipy.Spotify(auth_manager=SpotifyOAuth(scope=scope))

results = sp.current_user_saved_tracks()
for idx, item in enumerate(results['items']):
    track = item['track']
    print(idx, track['artists'][0]['name'], "  ", track['name'])

Reporting Issues

For common questions please check our FAQ.

You can ask questions about Spotipy on Stack Overflow. Dont forget to add the Spotipy tag, and any other relevant tags as well, before posting.

If you have suggestions, bugs or other issues specific to this library, file them here. Or just send a pull request.