#spotify #terminal #cli #unix #rust

app spoify

a spotify client inside your terminal

3 unstable releases

0.2.1 Jun 8, 2024
0.2.0 Jun 7, 2024
0.1.3 Jun 5, 2024

#278 in Command line utilities

Download history 524/week @ 2024-06-03 36/week @ 2024-06-10

560 downloads per month

MIT license

625KB
6.5K SLoC

Spoify

This is a Rust project that implements a Spotify client within your terminal. It allows you to browse and interact with Spotify directly from the command line.

Connecting to Spotify's API

In order for spoify to work it needs to be connected to Spotify's API.

Instruction

  1. Go to the Spotify dashboard
  2. Click Create an app
    • You now can see your Client ID and Client Secret
  3. Now click Edit Settings
  4. Add http://localhost:8888/callback to the Redirect URIs
  5. Scroll down and click Save
  6. You are now ready to authenticate with Spotify!
  7. Enter you Client ID and Client Secret.
  8. Run spoify
  9. You will be redirected to an official Spotify webpage to ask you for permissions.
  10. After accepting the permissions, you'll be redirected to localhost. You'll be redirected to a blank webpage that might say something like "Connection Refused" since no server is running. Regardless, copy the URL and paste into the prompt in the terminal.

There we go, now you can use spoify.

Installation

Cargo

First, install Rust (using the recommended rustup installation method) and then

cargo install spoify

This method will build the binary from source.

To update, run the same command again.

Configuration

You can go to the configure folder and change the theme, keybindings and other related settings of the application. If you are downloading using cargo, it will be in your .cargo\registry folder.

Limitations

This app uses the Web API from Spotify, which doesn't handle streaming itself. So you'll need an official Spotify app open in order to play tracks.

If you want to play tracks or control the playback part, Spotify requires that you have a Premium account.

Libraries used

Dependencies

~20–34MB
~500K SLoC