Search, bookmark, and stream internet radio stations
Project description
Xradios 📻
"Search, bookmark, and stream internet radio stations directly from your terminal."
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
mpvorlibmpvfor 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 + DOWNto move focus. - Search for stations:
search tag=rock limit=100 order=votes - Play a station: Select a station with
UP/DOWNand pressENTER. - Exit: Press
Ctrl + q
Press ? to see a complete list of shortcuts and commands.
Development Setup 💻
- Clone the repository and navigate into project directory:
git clone git@github.com:andreztz/xradios.git
cd xradios
- Install development dependencies using the following command:
uv sync --dev
- Start the xradios server by running:
xradiosd
- Open a new terminal, and run textual console to monitor log messsages:
textual console
- In another terminal run xradios application in development mode:
textual run --dev xradios
- 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
mpvorlibmpvis installed and accessible in you PATH.
Meta 📬
André P. Santos – @ztzandre – andreztz@gmail.com
Distributed under the MIT license. See LICENSE for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3c985f8fd77233a292e8675c2914ed1842ac869f641e6acc242f7a2832333643
|
|
| MD5 |
f1d366aab3aa45e593d554ccca35bc4d
|
|
| BLAKE2b-256 |
c116d111f56d420da6f9316f71690acdc7ca95621c0e2d9e3eaedb1072848626
|
Provenance
The following attestation bundles were made for xradios-0.2.0.tar.gz:
Publisher:
publish.yml on andreztz/xradios
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
xradios-0.2.0.tar.gz -
Subject digest:
3c985f8fd77233a292e8675c2914ed1842ac869f641e6acc242f7a2832333643 - Sigstore transparency entry: 208595121
- Sigstore integration time:
-
Permalink:
andreztz/xradios@701faee97785717a65030ecca0f58fbebeb478cc -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/andreztz
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@701faee97785717a65030ecca0f58fbebeb478cc -
Trigger Event:
push
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2187009833b03236e053c9dc47fe7798182aa956af2d17d393eb3f097a268c8b
|
|
| MD5 |
7e1440a05813301711a3677a3f0c3db3
|
|
| BLAKE2b-256 |
3ba54530419eed0201dee73460831e14c4baf5766e1ed6685043814b4eb0ef95
|
Provenance
The following attestation bundles were made for xradios-0.2.0-py3-none-any.whl:
Publisher:
publish.yml on andreztz/xradios
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
xradios-0.2.0-py3-none-any.whl -
Subject digest:
2187009833b03236e053c9dc47fe7798182aa956af2d17d393eb3f097a268c8b - Sigstore transparency entry: 208595122
- Sigstore integration time:
-
Permalink:
andreztz/xradios@701faee97785717a65030ecca0f58fbebeb478cc -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/andreztz
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@701faee97785717a65030ecca0f58fbebeb478cc -
Trigger Event:
push
-
Statement type: