Skip to main content

Terminal-based internet radio player

Project description

PX7 Terminal Radio

PX7 Terminal Radio

PX7 Terminal Radio is a lightweight command-line internet radio player written in Python. It allows you to search, stream, and control thousands of online radio stations directly from your terminal., and now also supports streaming audio from YouTube search results.

Stations are fetched using the Radio Browser API, and playback is handled through VLC.

Table of Contents

Features

New Feature

  • Search and stream audio from YouTube

Legacy Features

  • Search internet radio stations
  • Stream radio directly from the terminal
  • Filter and sort stations using API options
  • Control playback (play, pause, resume, stop)
  • Lightweight command-line interface

Requirements

  • Python 3.9+
  • VLC Media Player

Installation

1. Clone the repository:

If you just want to use:

git clone --depth 1 https://github.com/px7nn/px7-radio.git
cd px7-radio

else:

git clone https://github.com/px7nn/px7-radio.git
cd px7-radio

2. Install Python dependencies

pip install -r requirements.txt

3. Run the application

python main.py

After starting, you will see the terminal prompt:

>>

You can now search and play radio stations. Example:

>> radio search lofi
>> play 1

Usage

Screenshot

Radio Commands

Command Description
radio search <query> Search radio stations by name
radio search --tag=<tag> Search stations by tag (e.g., jazz, lofi)
radio search --country=<country> Filter stations by country
radio search --language=<language> Filter stations by language
radio search --limit=<number> <query> Limit the number of results
radio search --order=votes Sort results (e.g., clickcount, votes, bitrate)
play <index> Play a station from the search results
pause Pause playback
resume Resume playback
stop Stop playback

Additional filters and parameters are supported since PX7 Terminal Radio is compatible with the Radio Browser API.

You can pass API parameters using the format: --parameter=value

Example:

>> radio search lofi --limit=5
>> radio search --tag=jazz --country=US
>> radio search chill --order=clickcount

For the complete list of supported parameters, see the Radio Browser API documentation:
https://www.radio-browser.info/

YouTube Commands

PX7 Terminal Radio can also stream audio from YouTube search results directly in the terminal.

Command Description
yt search <query> Search YouTube and stream results
yt search <query> --limit=<number> Limit the number of search results
yt search <query> --no-postfix Search without modifying the query

Default Query Postfix

By default, the command:

>> yt search <query>

internally modifies the query:

query += DEFAULT_QUERY_POSTFIX

DEFAULT_QUERY_POSTFIX = " original audio song" This helps return better audio-focused results (for example music or long mixes).

If you want to search YouTube without modifying the query, use:

>> yt search <query> --no-postfix

Example:

>> yt search joji
>> yt search the weeknd lofi one hour --no-postfix

License

This project is licensed under the MIT License.
See the LICENSE file for details.

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

px7_radio-0.1.0.tar.gz (10.7 kB view details)

Uploaded Source

Built Distribution

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

px7_radio-0.1.0-py3-none-any.whl (12.3 kB view details)

Uploaded Python 3

File details

Details for the file px7_radio-0.1.0.tar.gz.

File metadata

  • Download URL: px7_radio-0.1.0.tar.gz
  • Upload date:
  • Size: 10.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for px7_radio-0.1.0.tar.gz
Algorithm Hash digest
SHA256 445e92b625c59432851ce6bac026cfd8759c02cdfbde5f81adbde1c691bb6ed1
MD5 f3a4689de3495cc7bc50e5c84211254e
BLAKE2b-256 77586acf84d4acb76154acaf317414bd932823f839a3d3d84b864951a87d600e

See more details on using hashes here.

File details

Details for the file px7_radio-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: px7_radio-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 12.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for px7_radio-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f52eec58b8f39f5ea005e033dde8d73aa7b9c4f037b79c0ab4079a8cef57e2c2
MD5 34829b74df54c956e6b39427ee79180b
BLAKE2b-256 548d62a2a8ea6ba83662bcb6f0cd58de8d44aa19a387b310da8148111c8239fe

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