https://github.com/px7nn/px7-radio
A minimal, fast alternative to heavy music apps — built for the terminal.
https://github.com/px7nn/px7-radio
audio-streaming cli command-line-tool free-music internet-radio music-streaming python python-cli radio-browser radio-player terminal terminal-app tui youtube yt-dlp
Last synced: 24 days ago
JSON representation
A minimal, fast alternative to heavy music apps — built for the terminal.
- Host: GitHub
- URL: https://github.com/px7nn/px7-radio
- Owner: px7nn
- License: mit
- Created: 2026-03-06T10:15:15.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2026-03-25T21:29:46.000Z (3 months ago)
- Last Synced: 2026-03-26T20:47:57.537Z (3 months ago)
- Topics: audio-streaming, cli, command-line-tool, free-music, internet-radio, music-streaming, python, python-cli, radio-browser, radio-player, terminal, terminal-app, tui, youtube, yt-dlp
- Language: Python
- Homepage:
- Size: 73.2 KB
- Stars: 36
- Watchers: 0
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README


# PX7 Terminal Radio
PX7 Terminal Radio is a lightweight, feature-rich **command-line internet radio player** built in Python.
It lets you **search, stream, and control thousands of radio stations directly from your terminal**, with added support for **streaming audio from YouTube search results**.
Powered by the **Radio Browser API** and **VLC**, PX7 delivers a fast and minimal listening experience without leaving your terminal.
## Features
* Search and stream internet radio stations
* Filter stations by **tag, country, language, bitrate, and more**
* Sort results using API parameters (votes, click count, etc.)
* Playback controls: **play, pause, resume, stop**
* Lightweight and fast CLI interface
* Stream audio directly from **YouTube search results**
## Requirements
* Python **3.9+**
* **VLC Media Player** (required for audio playback)
## Installation
### Install via pip (Recommended)
```
pip install px7-radio
```
## Usage
Start the application:
```
px7-radio
```
If the command doesn't work, you can run:
```
python -m px7_radio
```
You will see a prompt:
```
>>
```
---
## Radio Commands
| Command | Description |
| ------------------------------------ | ----------------------------------------- |
| `radio search ` | Search radio stations by name |
| `radio search --tag=` | Filter by tag (e.g., jazz, lofi) |
| `radio search --country=` | Filter by country |
| `radio search --language=` | Filter by language |
| `radio search --limit=` | Limit number of results |
| `radio search --order=votes` | Sort results (votes, clickcount, bitrate) |
| `play ` | Play selected station |
| `pause` | Pause playback |
| `resume` | Resume playback |
| `stop` | Stop playback |
---
### Advanced Filtering
PX7 supports full **Radio Browser API parameters**:
```
radio search lofi --limit=5
radio search --tag=jazz --country=US
radio search chill --order=clickcount
```
API Docs: https://www.radio-browser.info/
## YouTube Commands
Stream audio directly from YouTube search results:
| Command | Description |
| -------------------------------- | ------------------------- |
| `yt search ` | Search and stream audio |
| `yt search --limit=` | Limit results |
| `yt search --no-postfix` | Disable query enhancement |
---
### Smart Query Enhancement
By default:
```
>> yt search
```
Automatically becomes:
```
original audio song
```
This improves audio-focused results (songs, mixes, etc.)
Disable it with:
```
>> yt search --no-postfix
```
## Example Usage
---
## 📜 License
This project is licensed under the MIT License.
See the [LICENSE](LICENSE) file for details.