Skip to main content

Terminal-based radio player with TUI

Project description


termr

A simple, fast, and modern terminal radio player.

GitHub Stars GitHub Forks Releases AUR Version GitHub Issues Package Downloads License


Buy Me a Coffee at ko-fi.com

Table of Contents

Features

  • Fast, modern TUI radio player built with Textual
  • Browse, search, and play thousands of internet radio stations
  • Add and manage favorites
  • Multiple color themes
  • Volume control, pause/resume, and stop
  • Minimal dependencies, easy to install
  • Configurable and hackable

Installation

Linux

Arch Linux (AUR)

# With pacman
sudo pacman -S termr

# With yay
yay -S termr

# Or clone and build manually
git clone https://aur.archlinux.org/termr.git
cd termr
makepkg -si

Ubuntu/Debian

# Download and install
wget https://github.com/Hibbins/termr/releases/download/v1.2.0/termr_1.2.0-1_all.deb
sudo apt install ./termr_1.2.0-1_all.deb

From PyPI

pip install termr

From Source (Universal)

# Clone and install from source
git clone https://github.com/Hibbins/termr.git
cd termr
pip install .

# Or install directly from GitHub
pip install git+https://github.com/Hibbins/termr.git

Requirements

  • VLC Media Player (with cvlc command)

Usage Guide

Main Functions

Browse Stations

Navigate the main list to discover and play radio stations from around the world.

Search

Press s to search for stations by name, genre, country, etc.

Favorites

Press f to add/remove the selected station to/from your favorites. Access your favorites from the main menu.

Themes

Switch between multiple color themes from the menu for the best TUI experience.

Keyboard Shortcuts

Key Action
q Quit
h Home
s Search
f Add/Remove Favorite
+ / - Volume Up/Down
p Pause/Resume
x Stop
r Refresh station list
escape Back
enter Play selected station

Configuration

The application automatically creates configuration files in ~/.config/termr/:

  • favorites.json - Favorite stations
  • settings.json - Application settings

Settings

You can edit ~/.config/termr/settings.json:

{
  "max_stations": 100,
  "default_sort": "clickcount",
  "auto_play": false,
  "volume": 100,
  "theme": "default",
  "last_station": null,
  "api_timeout": 10
}

Options

Volume

Default playback volume (0-200).

Theme

Choose your preferred color theme.

Max Stations

Set the maximum number of stations to load.

Default Sort

Choose how stations are sorted (e.g., by popularity).

API Timeout

Set the timeout for API requests.

Autoplay

If enabled, termr will automatically start playing the last played station on launch.

Troubleshooting

"VLC not found"

Install VLC according to the instructions above.

"Package not found"

Check that you are using the correct package manager for your system.

"Permission denied"

chmod +x termr

Enjoy listening!
If you like the project, consider starring it on GitHub or buying me a coffee!


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

termr-1.2.0.tar.gz (25.1 kB view details)

Uploaded Source

Built Distribution

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

termr-1.2.0-py3-none-any.whl (21.4 kB view details)

Uploaded Python 3

File details

Details for the file termr-1.2.0.tar.gz.

File metadata

  • Download URL: termr-1.2.0.tar.gz
  • Upload date:
  • Size: 25.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for termr-1.2.0.tar.gz
Algorithm Hash digest
SHA256 a519040f23bcfd67907f6ec3c30a25ad12bc7cb3f6d79bc1f9b1a5f368867c1a
MD5 5fc6e9aaeaa0daed3badc4a82de072e3
BLAKE2b-256 4217884bb6c1476da33afefe66e3f66cf621bff6ef9a8aab26a4c85eb01881e5

See more details on using hashes here.

File details

Details for the file termr-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: termr-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 21.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for termr-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cc8b5c1feba03b9ebe9c3420fe031ff06e3533a9d9a844a76280c1a9d9a00337
MD5 9038dfeb3b12ff1cc794c1bea6d05ca6
BLAKE2b-256 81695aefcffbada769fc045c1ebac76ae47b1bdd1989eb0a47f33c714c11edbc

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