Skip to main content

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

  1. Search Song

    • Enter any query.
    • Optionally include mixes/playlists.
    • Optionally sort by year.
    • Use "[ Load more results ]" in picker to fetch more songs.
  2. Discover by Genre + Mood

    • Pick genre and mood, then proceed the same way as Search Song.
  3. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cli_music-0.1.4.tar.gz (15.7 kB view details)

Uploaded Source

Built Distribution

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

cli_music-0.1.4-py3-none-any.whl (18.5 kB view details)

Uploaded Python 3

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

Hashes for cli_music-0.1.4.tar.gz
Algorithm Hash digest
SHA256 915d727e92385b942c58b6822e5fcdd5e5e6695ce679b58bbd25201f4fadf1ed
MD5 571a0ea132471c49912ba60616857ced
BLAKE2b-256 c04fb8abf4e20cbca7d4051a8a0526222a3b69983027e13283f9e6ec21d1c691

See more details on using hashes here.

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

Hashes for cli_music-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 e47a7dd45cc62ede6274bddb84711a31dde3ff3755c0afc0d0c85946f2ff4cd8
MD5 21a19469ceb7c01de9a9896ffa777075
BLAKE2b-256 819af456930ea2e8a381e7a0e54c940e9dccd50284739bf5036d56722c8ba864

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