Skip to content

Latest commit

 

History

30 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

eter

A cross-platform menu bar internet radio player.

License: MIT Release Platforms: macOS, Windows, Linux

eter lives in your menu bar (macOS) or system tray (Windows, Linux) and plays internet radio. It ships with curated station packs, shows the current song with an audio-reactive waveform, and lets you add your own stations. Built with Python and Qt 6.

Download

Grab the latest release for your platform from GitHub Releases.

Platform Format
macOS .dmg
Windows Installer (.exe) or portable .zip
Linux .deb, .rpm, or .tar.gz

Builds are not code-signed. On macOS, right-click the app and choose Open the first time. On Windows, click More info then Run anyway if SmartScreen appears.

Features

  • Plays MP3 and AAC internet radio streams

  • Handles .pls, .m3u, and .m3u8 playlists

  • Audio-reactive waveform visualization

  • Volume control with song-change notifications

  • Auto-reconnect with exponential backoff

  • Ships with curated station packs (Macedonian, ex-Yugoslav, World)

  • Station packs update from GitHub without a new app release

  • Create, edit, and organize your own stations and packs (with full undo/redo)

  • Favorites overlay: star stations from any pack

  • Menu bar on macOS (no Dock icon), system tray on Windows and Linux

  • Falls back to a desktop window when no tray is available

  • Now-playing metadata from multiple sources (stream metadata, ICY headers, web scraping)

  • Sleep timer (15 minutes to 2 hours)

  • Resume on launch (remembers your last station)

  • Launch at login

  • Built-in update checker

  • Light and dark theme (follows your OS)

Run from source

Requires Python 3.9+ and PySide6 6.8+.

python3 -m venv .venv
source .venv/bin/activate          # Windows: .venv\Scripts\activate
pip install -e ".[dev]"
python -m eter

Linux note: On stock GNOME, the system tray requires the AppIndicator extension. Without it, eter runs in windowed mode.

Build

pyinstaller eter.spec

Produces dist/eter.app on macOS and dist/eter/ on Windows and Linux. The spec bundles the Qt FFmpeg audio plugin and excludes unused Qt modules.

Pushing a v* tag triggers .github/workflows/release.yml, which builds and publishes all platform packages to a GitHub Release.

Tests

QT_QPA_PLATFORM=offscreen pytest

License

MIT

About

Personal radio player that lives in my menubar on Mac and Linux. It works on Windows too.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages