libspotify bindings for Python written in Cython.
This is currently a work in progress and is far from complete or usable. You should regard this project as sandbox for learning Cython, and use pyspotify instead.
Subsystem | Priority | Status |
---|---|---|
Error handling | 1 | Fully implemented |
Session handling | 1 | Partially implemented |
Link subsystem | 4 | Not implemented |
Track subsystem | 2 | Not implemented |
Album subsystem | 3 | Not implemented |
Artist subsystem | 3 | Not implemented |
Album browsing | 6 | Not implemented |
Artist browsing | 6 | Not implemented |
Image handling | 6 | Not implemented |
Search subsystem | 5 | Not implemented |
Playlist subsystem | 2 | Partially implemented |
User handling | 8 | Implemented |
Toplist handling | 7 | Not implemented |
Inbox subsystem | 9 | Not implemented |
You need build tools, a C compiler, etc. If you're on Debian/Ubuntu, just:
sudo apt-get install build-essential
- Install libspotify from source or from http://apt.mopidy.com/. If you install from APT, make sure to install the
libspotify-dev
package to get the libspotify headers. Install Cython. From APT:
sudo apt-get install cython
Or from PyPI:
sudo pip install cython
Install nosetests. From APT:
sudo apt-get install python-nose
Or from PyPI:
sudo pip install nose
Get the source code:
git clone git://github.com/jodal/spoticy.git cd spoticy/
Create a file named
tests/settings.py
containing the following:USERNAME = u'alice' PASSWORD = u'secret' USER_CANONICAL_NAME = u'alice' USER_DISPLAY_NAME = u'alice' USER_FULL_NAME = u'Alice in Wonderland' USER_PICTURE_URL = None
Replace
alice
andsecret
with your own Spotify Premium account, then run the tests to see what values are correct for you for the other settings. Defining these values before you start developing ensures that your changes to the code doesn't affect the existing functionality.Build and run tests:
make
- Change some code or tests. Continue at previous step.
Source code is copyright Stein Magnus Jodal and licensed under the Apache License, Version 2.0.