An open API service indexing awesome lists of open source software.

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.

Awesome Lists containing this project

README

          





![](https://img.shields.io/badge/interface-CLI-black?style=for-the-badge)
 
![](https://img.shields.io/pypi/v/px7-radio?style=for-the-badge&color=1DB954)

# 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.