Flow
A terminal-based music player with online streaming and offline library modes. Auto-detects your connection and switches seamlessly between YouTube and your local files.
# Why Flow?
Flow was built to give you a beautiful, feature-rich music experience right in your terminal. No Electron, no bloat — just a fast, colorful TUI that gets out of your way.
Automatically detects your internet connection and switches between online YouTube streaming and offline local playback.
Save tracks from YouTube to your local library with
the -d flag. Your music,
always available.
Real-time spectrum analyzer with configurable width, height, and spacing for a visual music experience.
Color-coded lyrics that scroll with the song, keeping you in sync with every beat.
Loop tracks n times or shuffle your playlist. Full control over your listening experience.
Prefer a graphical interface? Launch a pixel-themed
web UI with flow --web.
# Quick Start
Get Flow running in under a minute. Install via pip and start listening immediately.
pip install flow-twinx
Then launch Flow:
flow
python-vlc for playback.
# How It Works
Flow automatically detects your network status and switches
between online and offline mode. Customize colors,
visualizer settings, and shortcuts through the config file
at
~/.flow/config.json.
{
"primary": "cyan",
"secondary": "magenta",
"tertiary": "yellow",
"display": "bars",
"barwidth": "20",
"barheight": "8",
"barspacing": "2"
}
config command inside
Flow for quick adjustments.
# Shell Mode
Run commands directly from your shell without entering interactive mode. Play-like commands automatically run in the background.
flow -pl never gonna give you up # play (auto-bg) flow love me not # plays one song flow -rd daft punk # radio (auto-bg) flow -sh daft punk # search (show results, exit) flow -kill # kill VLC
# What's Next?
Dive deeper into Flow by exploring the documentation, or download it now and start listening.