Skip to main content

A terminal-based Spotify controller

Project description

termify

Termify is a terminal-based application for controlling Spotify from the command line. With a simple and intuitive CLI, you can manage playback, view track details, and control your Spotify music without leaving the terminal.

Demo of basic usage of termify

Features

  • Playback control: Play, pause, skip, and change playback device

  • Track information: Get details about current song or podcast

  • Easy Navigation: Use arrow keys or Vim-style keybinds to navigate UI

Installation

Prerequisites

  • Python 3.7 or higher
  • curses library
  • requests library
  • dotenv library

Create a Virtual Environment (Optional but recommended)

This step can be safely skipped if you are already using a default virtual Environment.

python -m venv venv
source venv/bin/activate # On Windows use: venv\Scripts\activate

Windows Only

As of now, on windows, in order for termify to work, the windows-curses package must be installed with

pip install windows-curses

Install Termify

pip install termify-py

Configure Spotify Access

  1. Create a Spotify Developer Account: Go to the Spotify Developer Dashboard and create an application
  2. Configure Application Settings: Make the following changes to the settings of your app:
    • Set APIs used to Web API
    • Add http://localhost:8888/callback to Redirect URIs
  3. Copy or Take Note of Your Client ID: You will need it when first launching termify

Usage

Running the Application

termify

Controls

Navigate through menus using arrow keys or Vim style keys (h, j, k, l)

Versioning

  • Stable Versions: Available on PyPI. Install the latest stable version using pip install termify-py
  • Unstable Versions: If you want to try the latest features or development version, you can install directly from source using pip install . after cloning the repository. Be aware that this version may have new features or bugs not present in the stable release.

Contributing

Contributions are not only welcome, but encouraged! Feel free to fork the repository and submit pull requests. Be sure to review the CONTRIBUTING guidelines for more information on how to contribute to this project.

Get Involved

If you have any questions, suggestions, or feedback, please don't hesitate to open an issue or contact me.

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

termify_py-1.2.0.tar.gz (24.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

termify_py-1.2.0-py3-none-any.whl (25.5 kB view details)

Uploaded Python 3

File details

Details for the file termify_py-1.2.0.tar.gz.

File metadata

  • Download URL: termify_py-1.2.0.tar.gz
  • Upload date:
  • Size: 24.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.1

File hashes

Hashes for termify_py-1.2.0.tar.gz
Algorithm Hash digest
SHA256 3fc3e9a03d9947168a9a2c6ab854db9ab460889aff6f8583ced345b97bb6c973
MD5 222cf961825785a51bdd966597b7573b
BLAKE2b-256 a381d85c84e88e73fb80ada27a14700980e0790b632420aa0102752ffa1b9d16

See more details on using hashes here.

File details

Details for the file termify_py-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: termify_py-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 25.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.1

File hashes

Hashes for termify_py-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4e5963f04ff15f51f8999abebf07062cb7f3ec062f27ccec73d92d918b3c7872
MD5 ab34ad544d7effd022d3b6bacb8498ed
BLAKE2b-256 7b4b274f9815143569dabaf655194442c17bfd78a1514fbf86fe899448f77c54

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