A light weight Python library for the Spotify Web API
Go to file
corycorycory f4e11ed170 Update __init__.py
user_playlist doesn't work with starred playlists, which pass an ID of None.

This will allow the user to pull data for starred playlists, which use the URI users/%s/starrred
2014-06-21 10:45:23 -05:00
examples Fixed album search test 2014-06-19 14:41:52 -04:00
spotipy Update __init__.py 2014-06-21 10:45:23 -05:00
tests Fixed album search test 2014-06-19 14:41:52 -04:00
.gitignore Add Travis CI and .gitignore 2014-04-05 21:19:24 +03:00
.travis.yml Run the examples (without coverage) 2014-04-05 22:00:47 +03:00
CHANGES.txt Fixed album search test 2014-06-19 14:41:52 -04:00
deploy Added support for adding tracks to a playlist 2014-06-17 13:28:45 -04:00
LICENSE.txt Packaging tweaks 2014-06-16 13:39:32 -04:00
MANIFEST.in Packaging tweaks 2014-06-16 13:39:32 -04:00
README.md Relaxed simplejson version dependency 2014-06-17 13:29:33 -04:00
setup.py Fixed album search test 2014-06-19 14:41:52 -04:00

Spotipy - a Python client for The Spotify API

Description

Spotipy is a thin client library for the Spotify Web API .

Installation

If you already have Python on your system you can install the library simply by downloading the distribution, unpack it and install in the usual fashion:

python setup.py install

You can also install it using a popular package manager with

pip install SpotipyWebAPI

or

easy_install SpotipyWebAPI

Dependencies

  • Requests - spotipy requires the requests package to be installed

Quick Start

To get started:

  • Install spotipy

  • Create a Spotify object

    sp = spotipy.Spotify()

Call methods:

tracks = sp.search(q='weezer', limit=20)
for i, t in enumerate(tracks['tracks']):
    print ' ', i, t['name']

A full set of examples can be found in the Spotipy examples directory

Supported Methods

  • album(self, album_id) - returns a single album given the album's ID, URN or URL
  • album_tracks(self, album_id) - Get Spotify catalog information about an albums tracks
  • albums(self, albums) - returns a list of albums given the album IDs, URNs, or URLs
  • artist(self, artist_id) - returns a single artist given the artist's ID, URN or URL
  • artist_albums(self, artist_id, album_type=None, country=None, limit=20, offset=0) - Get Spotify catalog information about an artists albums
  • artist_top_tracks(self, artist_id, country='US') - Get Spotify catalog information about an artists top 10 tracks by country.
  • artists(self, artists) - returns a list of artists given the artist IDs, URNs, or URLs
  • me(self) - returns info about me
  • next(self, result) - returns the next result given a result
  • previous(self, result) - returns the previous result given a result
  • search(self, q, limit=10, offset=0, type='track') - searches for an item
  • track(self, track_id) - returns a single track given the track's ID, URN or URL
  • tracks(self, tracks) - returns a list of tracks given the track IDs, URNs, or URLs
  • user(self, user_id) - Gets basic profile information about a Spotify User
  • user_playlist(self, user, playlist_id, fields=None) - Gets playlist of a user
  • user_playlist_add_tracks(self, user, playlist_id, tracks, position=None) - Adds tracks to a playlist
  • user_playlist_create(self, user, name, public=True) - Creates a playlist for a user
  • user_playlists(self, user) - Gets playlists of a user

Refer to the Spotify API documentation for details on the methods and parameters.

Methods that take item IDs (such as the track, album and artist methods) accept URN, URL or simple ID types. The following 3 ids are all acceptable IDs:

    - http://open.spotify.com/track/3HfB5hBU0dmBt8T0iCmH42
    - spotify:track:3HfB5hBU0dmBt8T0iCmH42
    - 3HfB5hBU0dmBt8T0iCmH42

Reporting Issues

If you have suggestions, bugs or other issues specific to this library, file them here or contact me at paul@echonest.com. Or just send me a pull request.

Version

  • 1.0 - 04/05/2014 - Initial release
  • 1.1 - 05/18/2014 - Repackaged for saner imports
  • 1.4.1 - 06/17/2014 - Updates to match released API