Skip to main content

MadhavMusicCLI 🎵

A Termux-first terminal music player — stream YouTube, manage playlists, view lyrics, all inside your terminal.

PyPI Python 3.9+ License: MIT

✨ Features

Feature Details
🎵 YouTube Streaming Search & stream via yt-dlp — no API key needed
📱 Termux/Android Touch-friendly, compact layout, auto-detects termux-media-player
💾 Local Music Scans MP3, FLAC, OGG, WAV, M4A, OPUS from your device
📋 Queue & Playlists Build queues, manage listening order
🎤 Lyrics Synced lyrics via syncedlyrics
📜 History Persistent listening history
🎨 4 Themes Default · Dracula · Nord · Gruvbox
⌨️ Keyboard-first Full keyboard & touch navigation
🔌 Plugin System Add providers via Python entry-points

🚀 Installation

Termux (Android) — Recommended

# 1. Install Python + audio tools
pkg install python mpv

# 2. (Optional) Install Termux:API app from F-Droid for termux-media-player support

# 3. Install MadhavMusicCLI
pip install madhavmusiccli

# 4. Launch!
music

Linux / macOS / Windows

pip install madhavmusiccli
music

Note: On desktop, install pygame for audio:

pip install madhavmusiccli pygame

🎮 Usage

music                          # launch with auto-detected music folder
music --library ~/Music        # specify music directory
music --theme dracula          # start with Dracula theme
music --version                # show version

⌨️ Key Bindings

Key Action
Ctrl+Q Quit
Ctrl+P Play / Pause
Ctrl+N Next track
Ctrl+B Previous track
Ctrl+S Search YouTube
Ctrl+L Lyrics panel
Ctrl+H History panel
Ctrl+T Cycle theme
Space Play / Pause
← → Seek ±5 seconds
↑ ↓ Navigate list
Enter Play selected
F1 Help

🔌 Audio Backends (Auto-detected)

MadhavMusicCLI automatically picks the best backend:

Priority Backend Platform
1 termux-media-player Termux/Android (Termux:API)
2 mpv All platforms (pkg install mpv)
3 pygame Desktop (Linux/macOS/Windows)
4 ffplay All platforms (ffmpeg)

🔌 Plugin System

Add custom music providers via pyproject.toml entry-points:

[project.entry-points."madhavmusiccli.providers"]
myprovider = "mypkg.provider:MyProvider"

Subclass MusicProvider from madhavmusiccli.plugins.base.

🛠️ Development

git clone <your-repo>
cd CLI_music
pip install -e ".[dev]"
pytest -q
music

📦 Upload to PyPI

See PYPI_UPLOAD.md for full instructions.

upload_pypi.bat --test   # TestPyPI first
upload_pypi.bat          # real PyPI

📄 License

MIT — see LICENSE

Metadata

Release files for madhavmusiccli 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for madhavmusiccli 1.0.1
File Size Uploaded
madhavmusiccli-1.0.1.tar.gz 19.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for madhavmusiccli 1.0.1
File Interpreter ABI Platform
madhavmusiccli-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 48.0 kB

Release files / madhavmusiccli-1.0.1.tar.gz

Download URL madhavmusiccli-1.0.1.tar.gz
Size 19.5 kB
Tags Source
SHA-256 checksum
How to use checksums
b8506a61f7f936fb31e6eb17b01fb9a46bc251474176fdaf290680e50abbff3d
BLAKE2b-256 checksum
How to use checksums
e652afb5353e8a616e5670151dcf45171185983f495be0454f8520bacf4b783b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.9

Release files / madhavmusiccli-1.0.1-py3-none-any.whl

Download URL madhavmusiccli-1.0.1-py3-none-any.whl
Size 28.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
903fffa8ad911330a94b3f2321a9030aa541560f623891ba0dc6825a0b9e8907
BLAKE2b-256 checksum
How to use checksums
e82b2d8bfd33bef631fb7ed6e57c9bc24e77dfd4d440a8cc389bf3dd963a5ec0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.9

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

1.0.0

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page