About this project

spotify_player is a terminal-based Spotify client for Spotify Premium users, offering a minimalist yet feature-complete interface. It supports full playback control, library browsing, search, and playlist management. Streaming is powered by librespot with multiple audio backends (rodio, ALSA, PulseAudio, etc.), and Spotify Connect allows remote control of other devices. The UI includes paging, popups, and mouse support for seeking. Real-time audio visualization displays frequency bands, and synced lyrics are available. Optional image rendering works in terminals supporting Kitty, iTerm2, or Sixel protocols, with a pixelate mode for album art. Desktop notifications and MPRIS/OS media control are supported. The app can run as a daemon for background playback. A rich set of CLI commands (search, playback, playlist import/export, authentication) enables scripting and integration. Fuzzy search is available as an optional feature. Configuration is done via a TOML file with extensive customization of keybindings, themes, and behavior. Authentication uses OAuth 2.0 with PKCE, caching tokens locally. The project uses ncspot's client ID by default for higher API rate limits, with optional custom client ID support.