Skip to content
A CLI application for controlling Spotify
Python Shell
Branch: master
Clone or download
bharath-123 and bjarneo Handle EOFError of prompt in interaction() method in class App (#73)
It is better to handle the EOFError(triggered when we hit ctrl + D)
in the interaction() method rather than handling it outside in __name__
== "__main__". This is to enhance readability of code. Since a
KeyBoardError or EOFError are associated with each new prompt session(a
new prompt session is defined after each iteration of the while loop),
it makes sense to move the error handling of EOFError to interaction
method.
Latest commit 78cfa88 Oct 7, 2019

README.md

Pytify

Donate Code Climate

Pytify logo

Search and start songs from the CLI.
Linux and OS X support.

Spotify must be running in the background in order to use this cli remote

Python 3 support. For Python 2 support use this release: v2.1.0

Image of terminal

Installation

$ pip install pytify

Python 2

$ pip install pytify==2.1.0

Linux you need to install python-dbus package.

$ # Example using apt-get
$ apt-get install python-dbus

Credentials

This package now must use credentials in order to search for songs.

Support for client credentials flow. Please follow these steps:

  1. Register app: https://developer.spotify.com/my-applications/#!/applications
  2. Edit your ~/.bashrc to export following values:
export SPOTIPY_CLIENT_ID='your-spotify-client-id'
export SPOTIPY_CLIENT_SECRET='your-spotify-client-secret'

Features

  • Commands
  • Auto suggest (based on history)
  • Tab through history
  • Search history
  • Search and play songs
  • CLI commands
  • VIM navigation bindings

Clone repo

$ git clone https://github.com/bjarneo/Pytify.git
$ cd Pytify
$ sudo python setup.py install

Usage

# To start the app type
$ pytify

# next song
$ pytify -n

# prev song
$ pytify -p

# play and pause song
$ pytify -pp

# Current playing song
$ pytify -c

Commands
commands

Commands:
 current              print current song
 help                 list all commands 
 next                 play next song 
 pp                   play or pause song 
 stop                 stop 
 prev                 play previous song 
 history              last five search results 

Install dev dependencies

pip version must be > 9

$ pip install -r requirements.txt

Dependencies

* requests
* prompt-toolkit

Contributing

Contributions are appreciated.

Contributors

  • @joined - OS X
  • @adam410 - OS X issue
  • @Newky - Better structure
  • @ymski - OS X
  • @wohlfea - Made it compatible with python 3.5
  • @ddiddi - Added search phrase history browsing. (auto complete)
  • @kmatt - Minor UX changes
  • @bharath123 - Updated Pytify to use prompt_toolkit v2
  • .... and other.. please add your name and code update!

Logo

Logo by theodorosploumis. Thank you very much!

Donation

If this project has been helpful in any way, and you want to treat me a cup of coffee, please donate :)

paypal

You can’t perform that action at this time.