A terminal-based music player that searches, streams audio, and supports downloads.
Project description
CLI Music Player
A terminal-based music player that searches and streams audio, and supports downloads.
Requirements
- Python 3.10+
- pip or uv
- An internet connection
- Optional local audio player: mpv, VLC, or ffplay
On Windows, if no player is found, CLI Music will automatically bootstrap a
portable ffplay.exe backend into your local app runtime folder.
Install
Install from your preferred package channel:
pip install cli-music
or
uv pip install cli-music
or
winget install BonnieBoni.CliMusic
or (Debian/Ubuntu after repository setup)
sudo apt update
sudo apt install cli-music
Run
Just run the command from your terminal
cli-music
Updating
Just run the command from your terminal
pip install --upgrade cli-music
Features
- Search songs by free text query.
- Discover songs by genre + mood.
- Load more results for the same query in batches.
- Play from a pasted YouTube URL (playlist or single video).
- De-duplicate songs by normalized title + artist/uploader.
- Keyboard controls during playback:
- N: Next song
- P: Previous song
- Q: Quit player
- S: Back to search/mode selection
- D: Download current song
- D then P quickly: Download all songs in current queue
Modes
-
Search Song
- Enter any query.
- Optionally include mixes/playlists.
- Optionally sort by year.
- Use "[ Load more results ]" in picker to fetch more songs.
-
Discover by Genre + Mood
- Pick genre and mood, then proceed the same way as Search Song.
-
Play from YouTube URL
- Paste a YouTube playlist URL or a single video URL.
- Songs are loaded directly.
- This mode skips query/mood/sort prompts.
Downloads
- Song downloads are stored in the
Downloads/music/directory.
Project details
Release history Release notifications | RSS feed
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 cli_music-0.1.4.tar.gz.
File metadata
- Download URL: cli_music-0.1.4.tar.gz
- Upload date:
- Size: 15.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.29 {"installer":{"name":"uv","version":"0.9.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
915d727e92385b942c58b6822e5fcdd5e5e6695ce679b58bbd25201f4fadf1ed
|
|
| MD5 |
571a0ea132471c49912ba60616857ced
|
|
| BLAKE2b-256 |
c04fb8abf4e20cbca7d4051a8a0526222a3b69983027e13283f9e6ec21d1c691
|
File details
Details for the file cli_music-0.1.4-py3-none-any.whl.
File metadata
- Download URL: cli_music-0.1.4-py3-none-any.whl
- Upload date:
- Size: 18.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.29 {"installer":{"name":"uv","version":"0.9.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e47a7dd45cc62ede6274bddb84711a31dde3ff3755c0afc0d0c85946f2ff4cd8
|
|
| MD5 |
21a19469ceb7c01de9a9896ffa777075
|
|
| BLAKE2b-256 |
819af456930ea2e8a381e7a0e54c940e9dccd50284739bf5036d56722c8ba864
|