Skip to main content

a command line interface to Spotify on Linux

Project description

spotify-cli-linux

Build Version Python versions

A command line interface to Spotify on Linux.

If you're using macOS, see spotify-cli-macos.

installation

pip install spotify-cli-linux

hint #1: if you encounter problems during installation, try to call command with sudo

hint #2: if you still have problems (e.g. with resolving project dependencies), try to call pip3 instead of pip

if you have any problems with pip or pip3, you can try to install the script in the alternative way as a workaround:

git clone git@github.com:pwittchen/spotify-cli-linux.git
cd spotify-cli-linux
sudo cp spotifycli/spotifycli.py /usr/local/bin/spotifycli

upgrade

pip install spotify-cli-linux --upgrade

for the upgrade, you can apply the same hints like for installation

usage

start the official Spotify desktop app

run the following command from your terminal:

spotifycli

use one of the following parameters:

-h, --help        show this help message and exit
--version         shows version number
--status          shows song name and artist
--statusshort     shows status in a short way
--statusposition  shows song name and artist, with current playback position
--song            shows the song name
--songshort       shows the song name in a short way
--artist          shows artists name
--artistshort     shows artist name in a short way
--album           shows album name
--arturl          shows album image url
--lyrics          shows lyrics for the song playing
--playbackstatus  shows playback status
--position        shows song position
--play            plays the song
--pause           pauses the song
--playpause       plays or pauses the song (toggles a state)
--next            plays the next song
--prev            plays the previous song
--songuri OPENURI plays the track at the provided Uri
--listuri OPENURI plays the playlist at the provided Uri
--client CLIENT   sets client's dbus name

if you don't use any parameters, you'll enter the shell mode, where you'll be able to use all commands mentioned above

solving problems

lyriq

When, you're missing lyriq dependency, run the following command:

pip install lyriq

usage with tmux

If you want to use this script in your tmux panel, you can check tmux-plugin-spotify.

development

to install necessary tools for code formatting, static code analysis and releasing, run:

make requirements

code formatting

Source code should be formatted according to PEP8 style guides.

To format code, run:

make format

to verify code formatting, type:

make checkformat

static code analysis

To run static code analysis, execute:

make lint

docs

to update docs on gh-pages, type:

make docs

to run docs locally, type:

git checkout gh-pages && ./serve.sh

and view page with docs at: 0.0.0.0:8000

view it on-line at https://pwittchen.github.io/spotify-cli-linux

releasing

currently release is automated via deploy.yml GitHub Action, but it can be done manually too

configure your ~/.pypirc file as follows:

[distutils]
index-servers =
    pypi
[pypi]
username = __token__
password = VALID_TOKEN_GOES_HERE

then, update version in spotifycli/version.py and spotifycli/spotifycli.py and type:

make release

note: Version is not kept in a single file due to problems with importing files within another file and distributing them to PyPi. There are also Python vesion issues. If you know how to fix this issue properly to keep version in one place, I'd be happy to review your PR :-).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

spotify_cli_linux-2.0.0.tar.gz (18.8 kB view details)

Uploaded Source

File details

Details for the file spotify_cli_linux-2.0.0.tar.gz.

File metadata

  • Download URL: spotify_cli_linux-2.0.0.tar.gz
  • Upload date:
  • Size: 18.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.8

File hashes

Hashes for spotify_cli_linux-2.0.0.tar.gz
Algorithm Hash digest
SHA256 d8d38edb0cc4a514f178caffd37ac0f63b8f039ebaf4089616a9b11ae73e8e11
MD5 ec6fa4ba948c89ff9fb3fe8231287ccb
BLAKE2b-256 8bdf69c5de51d518ce5845239a44ebfc7a4e7ed42445778de30b979147b157ef

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page