Skip to main content

TUI WebRadio player

Project description

AudioPlayer

New in this Version

-- 28.12.2025 --

  • New category/genre unsorted added
  • After entering a title and a url in Play Url this value are stored automatically in unsorted
  • Newly added items appear after a restart in the Unsorted playlist
  • Pipx installation works when pyalsa is installed before with your package manager (see Installation)

-- 23.12.2025 --

  • Play URL added. Now you can enter an url to play it

-- 21.12.2025 --

  • Small design changes
  • Playlist items can now be played by hiting enter key or mouse click
  • Prepared for playlist editing - but still not working

A textual.app for playing online radio streams

The app was actually developed for the Raspberry Pi to provide a simple but attractive interface for a Raspi LCD display. However, the app works in principle on all Linux distributions that meet the following requirements:

  • a terminal which supports Rich Python library
  • can run a VLC-Player
  • uses ALSA soundsystem (also pipewire with ALSA)

You can run the app also remote with ssh.

The app can also be controlled in a browser.
To do so go into the src/tui_audioplayer directory and run python3 server.py

Installation

you can install the app with pip install tui_audioplayer

Pipx

pipx will work when pyalsa is installed manually

I could not manage to install pyalsa via pip, so I tried the following steps, which works for me:

  • first install pyalsa with your package manager
  • Create a softlink from the pyalsa directory to the pipx venv-directory

Typically pyalsa is installed in /usr/lib64/python3.13/site-packages
After installing tui_audioplayer with pipx, the pipx venv for tui_audioplayer is located in $HOME./local/share/pipx/venvs/tui-audioplayer/lib/python3.13/site-packages/

> cd $HOME./local/share/pipx/venvs/tui-audioplayer/lib/python3.13/site-packages/
> ln -s pyalsa /usr/lib64/python3.13/site-packages/pyalsa

You can also clone the repository
go into te src folder and run python3 -m tui_audioplayer

On Raspi

If you want to install the package on a Raspi, you will possibly get an error. The problem is the pyalsa package. This package has to be installed with sudo apt install python3-pyalsa Then run pip install tui_audioplayer again.

Playlist

The Playlist is the JSON version off XSPF.

Each Category/Genre has its own folder in the Playlist folder. You can create categories as you like.

Every category/genre folder contains a playlist file (.jspf). The playlist file has the same name in lower case as the category e.g.: category Jazz playlist file name jazz.jspf.

The playlist entries -the radio stations- are organized in tracks as followed:

  • location: the url (in []) where the music comes from
  • title: the radio station name
  • image: the file name for the image of the radio station. The image is a 400x400 png in the same folder of the playlist. Please avoid spaces in file names.

To open and close the Playlist press the p key

Issues

  • Key events are ignored for changing the volume, so changing the volume works only with mouse scrolling up or down.

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

tui_audioplayer-0.1.7.tar.gz (7.7 MB view details)

Uploaded Source

Built Distribution

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

tui_audioplayer-0.1.7-py3-none-any.whl (7.7 MB view details)

Uploaded Python 3

File details

Details for the file tui_audioplayer-0.1.7.tar.gz.

File metadata

  • Download URL: tui_audioplayer-0.1.7.tar.gz
  • Upload date:
  • Size: 7.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"openSUSE Tumbleweed","version":"20251225","id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for tui_audioplayer-0.1.7.tar.gz
Algorithm Hash digest
SHA256 ab5ed34e229f5d2b2094a59a9f377618223ae0677c0c98642bc17bdd6013bd72
MD5 0ea36dfb17e18c61b93071890c0eed54
BLAKE2b-256 1233f8f6390f9253e910dde98e701830192f35a4ab2cf692824d7ed48b1e2666

See more details on using hashes here.

File details

Details for the file tui_audioplayer-0.1.7-py3-none-any.whl.

File metadata

  • Download URL: tui_audioplayer-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 7.7 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"openSUSE Tumbleweed","version":"20251225","id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for tui_audioplayer-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 ca5ea1eb2cf02c1e10afd34a1abd248d18c94b78e49d3919dcabb152f2dccf69
MD5 f44a83f250be9f943a0c80662a4c679b
BLAKE2b-256 7990b12bf5dcfefe52ac40b32e23c7ca9dd79dbd556e6986edf715ff603c5872

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