Skip to content

sindrig/spoppy

Repository files navigation

spoppy

Lightweight Spotify Command-Line interface for Linux Build Status

Requirements

Python 2.7 or Python 3.3+

See requirements.txt for required python packages. They will be automatically installed when you install via pip.

You will need a Spotify Premium account and a Spotify username (if you signed up via Facebook you can follow the instructions here to get your username).

You will need libspotify, pyaudio or pyalsaaudio, and libffi-dev installed.

You will either need to install pyaudio or alsaaudio by (pyaudio instructions Here and pyalsaaudio instructions here).

Use your distribution's package manager for libffi-dev (f.x. apt-get install libffi-dev).

To install libspotify, see Pyspotify installation. (Archives are available at libspotify-archive), thanks to the great guys at Mopidy!.

For DBus integration you'll need python-dbus and python-gobject2. Use your distribution's package manager. Spoppy will work without these packages but won't expose it's DBus procedures.

Installation

pip install spoppy

To install globally you will probably need superuser privileges.

After installation run spoppy in your terminal and you're all set!

Screenshots

Top menu

Top menu

Playlist overview

Playlist overview

Playlist

Playlist

Player view

Player

Player operations

Player operations

Search results

Search results

Certain artists can be banned

Banned artists

Operations on a specific song

Song info

Development

  1. Create a virtualenv (python 2.7 or python 3.3+)
  2. Clone this project
  3. Activate your virtualenv
  4. Install requirements (pip install -r requirements.txt)
  5. Run python scripts/spoppy (you will be asked for username/password)

DBus integration

  1. Run make install_dbus
  2. Make sure you have python-gobject2 installed
  3. Symlink gi (and possibly glib) to your virtualenv (that is, if you're not installing globally!)
  4. The service will be available at "/com/spoppy" (f.x. qdbus com.spoppy /com/spoppy com.spoppy.PlayPause)

Debugging

To enable verbose logging, set the SPOPPY_LOG_LEVEL environment variable to 'DEBUG'.

Testing

make test