• Stars
    star
    742
  • Rank 61,120 (Top 2 %)
  • Language
    Python
  • License
    MIT License
  • Created over 10 years ago
  • Updated 5 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A CLI application for controlling Spotify

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

More Repositories

1

cessie

Transpile your CSS bundle to support CSS variables, calc, and future CSS for legacy browsers.
JavaScript
80
star
2

tAI

tAI is an AI terminal assistant CLI that helps you with Linux and macOS commands.
Python
66
star
3

HNU

Hacker news unofficial desktop application
CSS
57
star
4

rip

Rest in peace(s) - HTTP/UDP load testing tool
Go
54
star
5

extract-domain

Extract domain name from an URL
JavaScript
30
star
6

jenkinsfile-syntax

Syntax highlighting for the Jenkins file. Sublime plugin.
Python
19
star
7

superstonk

Follow your favourite stock right in the terminal window
Go
17
star
8

gecho

Gecho - a HTTP request echo debugging service
Go
11
star
9

is

JavaScript isser library. Node, AMD and browser support
JavaScript
11
star
10

http-status-cli

HTTP Status code message CLI lookup
JavaScript
10
star
11

instantly

EventSource convenience wrapper
JavaScript
10
star
12

CookieJS

CookieJS framework. No jQuery needed.
JavaScript
9
star
13

hipster

Sublime Text Color Scheme
6
star
14

nanon

UMD Bundler
JavaScript
6
star
15

instatine

Unofficial Instagram electron desktop application
JavaScript
4
star
16

lazyvim-cheatsheet.nvim

A neovim plugin that displays a comprehensive cheatsheet for LazyVim keybindings in a floating window.
Lua
4
star
17

dotenvjson

Convert .env files to JSON - Golang
Go
3
star
18

is-anagram

Check if two words or phrases are anagrams
JavaScript
3
star
19

marathon-deploy

Deploy a docker image to Marathon
JavaScript
3
star
20

most-common

Get the _n_ most common elements and their counts from the most common to the least.
JavaScript
2
star
21

ExtendMageController

How to extend Magento core controller
PHP
2
star
22

jQuery.countCharacters

jQuery count characters from input/textarea so on. Just like Twitters tweet function.
JavaScript
2
star
23

python-erase-exif

Erase exif data
Python
2
star
24

semver-cli

TLDR for semantic versioning.
JavaScript
2
star
25

magento

Magento snippets.
PHP
2
star
26

is-tomorrow

Is the date tomorrow?
JavaScript
2
star
27

vim-cheatsheet

New to Vim? This cheat sheet gives you the key commands you'll need to navigate and edit text, right from your terminal. Master the basics and start editing like a Vim pro!
Shell
2
star
28

wordle-v0

A wordle game created by v0.dev
TypeScript
2
star
29

nextjs-dockerfile

A generic dockerfile for Next.js
Dockerfile
2
star
30

evaas

Email Validation as a Service - This is based on the RFC 5322 Official Standard.
TypeScript
1
star
31

urldiff

Python tool using diff and curl to check different content on webpages. Note: This doesn't apply to SPAs.
Python
1
star
32

object-column

Return a single column from an array of objects
JavaScript
1
star
33

find-anagrams

This package will find all anagrams from an array and group them together in an matrix array
JavaScript
1
star
34

pushover-promise

Pushover.net API. Currently supporting Message API.
JavaScript
1
star
35

array-spread

Concat a matrix array into one flat array.
JavaScript
1
star
36

strility

Strility is a string manipulation library
JavaScript
1
star
37

hoki

Lightweight observer and dispatcher.
JavaScript
1
star
38

blab

Blab - Node.js chat server.
JavaScript
1
star
39

cendex

The most performant package to find the index of an element in an array or string
JavaScript
1
star
40

vg-feed

Print the latest VG news to terminal
JavaScript
1
star
41

dockr

Automatically build docker image and push it to your registry.
JavaScript
1
star
42

array-find

Finding all the occurrences of an element in an array
JavaScript
1
star
43

SetterGetter

Auto create methods to hold data.
PHP
1
star
44

promise-xhr

XHR (XDR) Promise wrapper
JavaScript
1
star
45

is-whole-number

Check if a number is a whole number.
JavaScript
1
star
46

cra-router-example

Demo
JavaScript
1
star
47

zero-pad

Should prepend a 0 to whole numbers <= 9 and >= 0. Perfect use case for dates.
JavaScript
1
star
48

anagram-finder-cli

This CLI makes it possible to search for anagrams from a provided dictionary file.
JavaScript
1
star
49

to-lower-case

Lowercase a string i JavaScript
JavaScript
1
star
50

follow-url

Follow an URL redirect chain to the end of life
JavaScript
1
star