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.0.0/termr_1.0.0-1_all.deb
sudo apt install ./termr_1.0.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
tab Switch View (stations/favs)
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.0.0.tar.gz (22.0 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.0.0-py3-none-any.whl (19.5 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for termr-1.0.0.tar.gz
Algorithm Hash digest
SHA256 6ab14056b1d73a5ff970a6b0d0059c1965726d05f5176611e00c4e832a6d5138
MD5 5ebf299bf06e2521e2513a611dad7364
BLAKE2b-256 d0c1946baec9274f689faf35a1b5d0e09777344100e34df7a19bd49964ba0ae7

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for termr-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 785729b8ae634c242ee83f5290257278d65edd3934fdb52fc0dcbba85d1ca40d
MD5 87f05d0a3fcd7102393fce31dc00ebfe
BLAKE2b-256 642de5266afb0ac4c69f69cfba6e26f4282da44c93393006aa70cf99d69e71e6

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