Skip to main content

headless music: for minimal cpu/gpu usage while listening to music

Project description

headless_music

A Spotify-inspired, terminal-based music player. headless_music brings music to your terminal with full-color ASCII album art and an endless recommendation queue.

Features

  • Spotify-inspired terminal UI with a modern 3-panel layout (built with rich).
  • Color ASCII album art (when available from Spotify).
  • Playlist-first playback for Spotify or YouTube playlists.
  • Endless radio mode that queues recommendations after the playlist ends.
  • Smooth, pulsing progress bar showing playback and loading status.
  • First-run configuration wizard for easy setup.
  • Cross-platform: runs on systems with Python and mpv.

Prerequisites

mpv is required as the audio backend.

macOS (Homebrew)

brew install mpv

Ubuntu/Debian

sudo apt update && sudo apt install mpv

Windows (Chocolatey)

choco install mpv

Installation

To install, simply use the Python package manager pip:

pip install headless_music

Usage

To start the player, type into your terminal

headless_music

On first launch a setup wizard will walk you through adding your Spotify API credentials. Obtain these from the Spotify Developer Dashboard: https://developer.spotify.com/dashboard/

Controls

Key Action
Space Play / Pause
n Next track
p Previous track
c Re-run the configuration wizard (stops playback)
q Quit

Configuration

  • Spotify API credentials (Client ID, Client Secret) are required for full functionality.
  • The configuration wizard writes credentials to a user config file (see config in repo for format).
  • mpv path and additional mpv options can be set in the config.

Contribution

Contributions are welcome. Please open issues for bugs or feature requests and submit pull requests against main. Follow the existing code style and include tests for new functionality.

License

This project is licensed under the MIT License. See LICENSE for details.

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

headless_music-1.1.0.tar.gz (17.2 kB view details)

Uploaded Source

Built Distribution

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

headless_music-1.1.0-py3-none-any.whl (23.1 kB view details)

Uploaded Python 3

File details

Details for the file headless_music-1.1.0.tar.gz.

File metadata

  • Download URL: headless_music-1.1.0.tar.gz
  • Upload date:
  • Size: 17.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for headless_music-1.1.0.tar.gz
Algorithm Hash digest
SHA256 42134bb65f6a6139362334c01fded11d43aea33f21f67c28684b06ae11c89ed4
MD5 c1f1e3c2a27be2425df2cf5ebfa99825
BLAKE2b-256 5296619ba5fed4df6ec73605734dbdbee6ee5e86f8f41ce72302fa3f5f28442f

See more details on using hashes here.

File details

Details for the file headless_music-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: headless_music-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 23.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for headless_music-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5e7867395ab7063d95439b2890a93aa74ca700839ed7e925a85b03f479a521ef
MD5 9eba875f031768e8800d8aee11ad9862
BLAKE2b-256 640f1830c9ae3f63e8105f6608428dc9bf69b7c212ea188ae7f13bccba6a9de9

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