A Cyberpunk CLI Music Player for Hackers
Project description
🌌 GANA PLAYER
The Ultimate Cyberpunk CLI Music Player for Hackers.
GANA is a high-performance, terminal-based YouTube music player designed for Linux and Termux.
It features a 3D Hyperdrive UI, AI-powered recommendations, background playback with lock-screen controls, and automatic offline caching.
🚀 Quick Start
1️⃣ Install via Pip (Universal)
Works on any system with Python 3.8+.
pip install gana-player
Run it:
gana
# OR
gana-player
2️⃣ Install on Termux (Android)
For the full experience (hardware controls, notifications), install the API dependencies first.
pkg update
pkg install python mpv ffmpeg termux-api
pip install gana-player
gana
⚠️ You must install the Termux:API app (Play Store or F-Droid) for lock screen controls to work.
🎮 Controls & Hotkeys
🖥 Global CLI Commands
You don't need to open the UI to use GANA.
gana search "lofi hip hop" # Jump straight to search results
gana play "starboy" # Instantly auto-play best match
gana resume # Continue where you left off
gana history # View and manage playback history
gana help # Show the interactive manual
🎵 In-Player Hotkeys
| Key | Action |
|---|---|
SPACE |
Pause / Resume |
N / P |
Next / Previous Song |
← / → |
Seek -10s / +10s |
S |
Open ✨ AI Recommendations HUD |
V |
Open Queue Manager |
R |
Toggle Loop (Sequence ➡ / One 🔂 / All 🔁) |
B |
Background Mode (Keep playing while browsing menu) |
Q |
Stop & Return to Menu |
📂 Queue Manager (Press V)
| Key | Action |
|---|---|
ENTER |
Jump to selected song |
D |
Delete song from queue |
R |
Toggle Loop Mode |
✨ Features Breakdown
🌌 3D Hyperdrive UI
The interface reacts to your music.
- When playing → starfield accelerates into hyperdrive
- When paused → starfield drifts slowly
- A sine-wave rainbow visualizer dances above the seek bar
🧠 AI Recommendations
Press S while playing any song.
GANA analyzes:
- Current track
- Recent search history
It generates 4 intelligent recommendations.
Select one to instantly queue it next.
📡 Offline Caching (Smart Data Mode)
- Every song is cached automatically to:
~/.gana/cache/ - Replaying a cached song uses 0 data
- Auto-cleans cache (keeps last 5 songs)
- Works completely offline
🔌 Offline Mode
Turn off WiFi → Open History → Play cached songs instantly.
📱 Android Integration
-
🔒 Lock Screen Support
- Song title
- Album art
- Offline Support
-
🔔 Notification Controls
- Tap notification to Pause/Play
- Use Next / Prev buttons
- Use Single tap to add sleep time
🛠 Troubleshooting
❌ "mpv not found"
GANA requires mpv to play audio.
Linux:
sudo apt install mpv
Termux:
pkg install mpv
❌ Notifications not showing on Android
- Ensure:
pkg install termux-api
- Install Termux:API app
- Restart Termux
❌ Visualizer looks broken / text glitchy
Ensure your terminal supports 256 colors:
export TERM=xterm-256color
📦 Installation for Advanced Users
Install via DEB (Debian / Ubuntu)
If a .deb release is provided:
sudo apt install ./gana_1.0.0_all.deb
🔨 Build from Source
git clone https://github.com/yourusername/gana
cd gana
pip install .
❤️ Made for the CLI Community
Built with love for hackers, developers, and terminal enthusiasts.
📄 License
MIT License © 2026
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 gana_player-1.0.4.tar.gz.
File metadata
- Download URL: gana_player-1.0.4.tar.gz
- Upload date:
- Size: 23.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d5c899035da20d3b796a27d4045ec073af456f8bbff5c85837a09c4f014f440f
|
|
| MD5 |
80dbded84816dce3bc3b1799eb91a135
|
|
| BLAKE2b-256 |
859281911e71231ec01c670958057e4bb3b5c7ff0a13d3523d5417e51cf2978b
|
File details
Details for the file gana_player-1.0.4-py3-none-any.whl.
File metadata
- Download URL: gana_player-1.0.4-py3-none-any.whl
- Upload date:
- Size: 24.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
70c3e3610c6e54355794d9a0c61caba96b03da57f4e94fbcc31cc71a581ce954
|
|
| MD5 |
4908eb26e43af2aaa345dd7dace8932f
|
|
| BLAKE2b-256 |
313c654e3c32617ccc536c8a8536b8d410140faa68d19ad648a28b2bca5cd548
|