Skip to main content

Search, bookmark, and stream internet radio stations

Project description

Xradios 📻

"Search, bookmark, and stream internet radio stations directly from your terminal."

PyPI Version License: MIT Python Version

Xradios is a terminal tool to discover and streaming radio stations worldwide.

Features ✨

  • Search: Find radio stations by name, genre, country, language or other criteria.
  • Stream: Play radio stations directly in your terminal.
  • Interactive Interface: Navigate and control playback with keyboard shortcuts.
  • Bookmarks: Save stations for quick access. (TODO)

Installation 🛠️

Prerequisites

  • Python 3.8 or higher
  • mpv or libmpv for audio playback

Using pipx (recommended)

pipx install xradios

Alternative: Install via pip

pip install --user xradios

Usage 🚀

Start the server:

xradiosd

Launch the interactive interface:

xradios

Commands

  • Open command line: Press :
  • Navigate: Use Ctrl + UP/Ctrl + DOWN to move focus.
  • Search for stations: search tag=rock limit=100 order=votes
  • Play a station: Select a station with UP/DOWN and press ENTER.
  • Exit: Press Ctrl + q

Press ? to see a complete list of shortcuts and commands.

Development Setup 💻

  1. Clone the repository and navigate into project directory:
git clone git@github.com:andreztz/xradios.git
cd xradios
  1. Install development dependencies using the following command:
uv sync --dev
  1. Start the xradios server by running:
xradiosd
  1. Open a new terminal, and run textual console to monitor log messsages:
textual console
  1. In another terminal run xradios application in development mode:
textual run --dev xradios
  1. Run tests:
pytest

Contributing 🤝

Contributions are welcome! Please open an issue or submit a pull request.
See CONTRIBUTING.md for guidelines.

Troubleshooting 🔧

  • No audio? Ensure mpv or libmpv is installed and accessible in you PATH.

Meta 📬

André P. Santos – @ztzandreandreztz@gmail.com

Distributed under the MIT license. See LICENSE for details.

GitHub: https://github.com/andreztz/xradios

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

xradios-0.2.0.tar.gz (61.4 kB view details)

Uploaded Source

Built Distribution

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

xradios-0.2.0-py3-none-any.whl (14.3 kB view details)

Uploaded Python 3

File details

Details for the file xradios-0.2.0.tar.gz.

File metadata

  • Download URL: xradios-0.2.0.tar.gz
  • Upload date:
  • Size: 61.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for xradios-0.2.0.tar.gz
Algorithm Hash digest
SHA256 3c985f8fd77233a292e8675c2914ed1842ac869f641e6acc242f7a2832333643
MD5 f1d366aab3aa45e593d554ccca35bc4d
BLAKE2b-256 c116d111f56d420da6f9316f71690acdc7ca95621c0e2d9e3eaedb1072848626

See more details on using hashes here.

Provenance

The following attestation bundles were made for xradios-0.2.0.tar.gz:

Publisher: publish.yml on andreztz/xradios

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file xradios-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: xradios-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 14.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for xradios-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2187009833b03236e053c9dc47fe7798182aa956af2d17d393eb3f097a268c8b
MD5 7e1440a05813301711a3677a3f0c3db3
BLAKE2b-256 3ba54530419eed0201dee73460831e14c4baf5766e1ed6685043814b4eb0ef95

See more details on using hashes here.

Provenance

The following attestation bundles were made for xradios-0.2.0-py3-none-any.whl:

Publisher: publish.yml on andreztz/xradios

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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