Terminal-first streaming engine with smart autoplay radio.
Tuitify is a terminal-first music streaming application built for users who want a fast, keyboard-driven listening experience without leaving the command line. It combines YouTube-powered music discovery, seamless playback, and radio-style autoplay recommendations into a lightweight TUI (Text User Interface) that feels like a minimal Spotify for the terminal.
Users can search for music or podcasts, instantly stream audio using VLC-backed playback, and continue listening through an automatically generated recommendation queue based on the currently playing track. Album artwork, progress tracking, next-up previews, playback controls, and keyboard shortcuts make the experience smooth, responsive, and practical for daily use.
Most terminal music players focus only on local files. Tuitify is built for streaming-first listening. Listen your favourite music and podcasts without leaving the terminal.
The goal is simple: minimal friction, continuous listening, and a terminal-native music experience, no more ads, no more interruptions, just the freedom to enjoy your music seamlessly from your command line.
As a contributor to SimpMusic, I’ve seen how a simple and seamless streaming experience can completely change the way people listen to music. Tuitify brings that same idea to the terminal-a lightweight, keyboard-first music player that keeps playback smooth, fast, and uninterrupted.
- Global Search: Instantly find songs, albums, or podcasts.
- Smart Radio Engine: Automatically seeds recommendations based on your current track for non-stop playback.
- High-Quality Audio: Uses
yt-dlpandvlcfor reliable and high-quality streaming. - Keyboard Centric: Optimized for efficiency with customizable keybindings.
- Album Art: Real-time display of track artwork in your terminal.
| Terminal | TGP support | Sixel support | Works with textual-image |
|---|---|---|---|
| Black Box | ❌ | ✅ | ✅ |
| foot | ❌ | ✅ | ✅ |
| GNOME Terminal | ❌ | ❌ | |
| iTerm2 | ❌ | ✅ | ✅ |
| kitty | ✅ | ❌ | ✅ |
| konsole | ✅ | ✅ | ✅ |
| tmux | ❌ | ✅ | ✅ |
| Visual Studio Code | ❌ | ✅ | ✅ |
| Warp | ❌ | ❌ | ❌ |
| wezterm | ✅ | ✅ | ✅ |
| Windows Console | ❌ | ❌ | |
| Windows Terminal | ❌ | ✅ | ✅ |
| xterm | ❌ | ✅ | ✅ |
✅ = Supported; ❌ = Not Supported
- Python 3.12+
- VLC Media Player: Ensure VLC is installed on your system as it's the core playback engine.
-
Clone the repository:
git clone https://github.com/Hemanth2332/tuitify.git cd tuitify -
Install dependencies (using
uvorpip):uv sync # or pip install .
Simply run the main.py file:
uv run ./main.pyi: Focus search inputEnter: Search / Play selected trackSpace: Play / Pausen: Skip to next tracktab: switch between panels←/→: Seek backward/forward (10s)q: Quit Tuitify
Feel Free to change the keybindings to your own preference in src/tui/keybindings.py.
src/tui/: Main TUI application logic and layout.src/youtube/: YouTube service, streaming player, and recommendation engine.src/search/: Search-specific wrappers.
Tuitify is built to grow, and contributions are always welcome.
If you'd like to contribute:
- Fork the repository
- Create a new branch (
feature/your-feature-name) - Commit your changes
- Open a Pull Request
Ideas, discussions, and improvements are always appreciated.
This project is licensed under the MIT License - see the LICENSE file for details.

