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, Redirect URI) are required for full functionality.
- The configuration wizard writes credentials to a user config file (see
configin repo for format). mpvpath 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file headless_music-1.0.2.tar.gz.
File metadata
- Download URL: headless_music-1.0.2.tar.gz
- Upload date:
- Size: 10.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
63534ef9ed7f2850d2ee2e6a1f3b928d1de1a4f96f4d3982726ccfd31495c661
|
|
| MD5 |
79dc18394dedabdb7f01e792ba7ef751
|
|
| BLAKE2b-256 |
f4d68bbc6f1dd7b211bbb541c4e7106ad3e1d6d56e7f6fbc0ea1053088e9a42f
|
File details
Details for the file headless_music-1.0.2-py3-none-any.whl.
File metadata
- Download URL: headless_music-1.0.2-py3-none-any.whl
- Upload date:
- Size: 9.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
48535bf449fe40d16d663a8c748c0197ad638fe20807cd401da617ce4b19ceaa
|
|
| MD5 |
3a96088e0342cb1100c9306e59ba3cdc
|
|
| BLAKE2b-256 |
e231a8976e38bbf94ff0ae9e960693820789ebaba47b683a3e074f5e2212080b
|