Skip to main content
╔══════════════════════════════╗
║       A E T H E R P O D      ║
║   Terminal Podcast Manager   ║
╚══════════════════════════════╝

AetherPod

Terminal Podcast Manager
Subscribe, browse, and play podcasts — all from your terminal.
BTW.. I use Arch

Linux macOS Windows Python 3.9+ GPLv3 Textual 1.0 PyPI Build


Screenshots

Demo

Splash Episodes Playing Details


Features

  • Subscribe to any RSS/Atom podcast feed
  • Browse episodes in a sortable DataTable with live progress bars
  • Zebra-striped lists — alternating row colors on feeds and episode tables for easy scanning
  • Sort & filter feeds — alphabetical order toggle (s) and inline name filter (f)
  • Play / pause / seek / speed control via mpv IPC
  • Resume playback where you left off
  • Cross-feed search
  • Play queue — auto-plays next episode on natural end
  • OPML import / export — migrate from other podcast apps
  • Dark / light theme toggle
  • Async feed refresh — instant cache on startup, background updates, TTL-gated so repeat launches are fast and feeds only refetch when stale
  • Splash screen — branded startup with subscription stats
  • Audio EQ presets — 3 voice-optimized EQ profiles (Bright / Warm / Balanced) with lookahead limiter — toggle instantly with 1–4. mpv only: EQ requires mpv's lavfi audio filter bridge, so it works on Linux/macOS (mpv) but is unavailable on Windows (which uses VLC).
  • Automatic update check — on startup, notifies you when a newer version is available (aetherpod -u to upgrade)

Download a Pre-Built Executable

No Python or pip needed. Grab the binary for your platform from the Releases page (or the latest Actions build artifacts):

Prefer a package manager? pip install aetherpod (PyPI) works on Linux, macOS, and Windows.

Platform Download
Windows (x86_64) aetherpod-windows.exe
Linux (x86_64) aetherpod-linux
macOS (Apple Silicon) aetherpod-macos-arm64
macOS (Intel) aetherpod-macos-x86_64

The binaries are unsigned, so Windows SmartScreen and macOS Gatekeeper may warn on first run. Windows: click More info → Run anyway. macOS: xattr -d com.apple.quarantine aetherpod-macos.


Quick Start

Prerequisites

  • Python 3.9+
  • mpv (Linux/macOS) or VLC (Windows, or any platform) — audio player

Windows: VLC is detected automatically even when not on PATH (installed under Program Files or the registry). AetherPod uses VLC on Windows since mpv's control channel is Linux/macOS-only.

macOS: VLC.app and Homebrew are detected even when not on PATH (/Applications/VLC.app/Contents/MacOS/vlc, /opt/homebrew, /usr/local). mpv is preferred when present.

EQ on Windows: the audio EQ presets (1–4) require mpv and are therefore not available on Windows (VLC is used there). mpv-on-Windows support is on the roadmap.

# Install mpv (Arch)
sudo pacman -S mpv

# Install mpv (Debian/Ubuntu)
sudo apt install mpv

# Install mpv (macOS)
brew install mpv

Install

AetherPod is on PyPI and published to GitHub Releases on every version tag.

Option 1 — pip / pipx (recommended, all platforms):

pipx install aetherpod        # isolated env + on PATH (best for a CLI/TUI)
# or
pip install --user aetherpod

Option 2 — Interactive installer (from source):

git clone https://github.com/AetherSolDev/AetherPod.git
cd AetherPod
bash scripts/install.sh

Option 3 — Makefile:

make install           # system-wide
make install-user      # user-local, no root

Option 4 — Manual venv:

python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
pip install -e .

scripts/install.sh walks you through system-wide, user-local, or venv installation.

Run

aetherpod           # Launch TUI
aetherpod --help    # CLI usage
aetherpod list     # List subscribed feeds

Notes

  • Resume playback — AetherPod saves your position and resumes when you press Enter on a partially-played episode. This works reliably for local files. For streaming URLs, resume depends on whether the podcast host's CDN supports HTTP range requests (--start). If the episode restarts from the beginning, the CDN is rejecting the seek — this is a host limitation, not a bug. Downloading the episode would allow reliable resume.

Updating

AetherPod checks GitHub for a newer version on startup and shows a notification when one is available.

aetherpod -u    # Upgrade to the latest version
  • pip / pipx installs — upgrade via pip install --upgrade aetherpod (or pipx upgrade aetherpod). aetherpod -u also works for editable/git installs.
  • Executable installs — download the new binary from the Releases page (-u requires pip/git and will not work inside a bundled executable).

Usage

Key Action
a Add feed
s Sort feeds (subscribe order → A-Z → Z-A)
f Filter feeds by name
Enter Browse episodes / Play
Space Pause / Resume
s Stop (Episode screen)
[ / ] Speed down / up
← / → Seek -30s / +30s
1 / 2 / 3 / 4 EQ presets: Off / Bright / Warm / Balanced (mpv only)
f Toggle unplayed filter (Episode screen)
a Add to play queue
v View play queue
/ Search across all feeds
d Episode details
N Now-playing screen
t Toggle theme
q Quit
? Help

Data

Data Location
State ~/.local/state/aetherpod/state.json
EQ presets (user-editable) ~/.config/aetherpod/eq.json
Logs ~/.local/state/aetherpod/log/aetherpod.log

Override state path with --data /custom/path.json (supports relative paths for USB portability).


License

GPLv3 — Free as in freedom.

Metadata

Release files for aetherpod 0.4.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for aetherpod 0.4.7
File Size Uploaded Provenance
aetherpod-0.4.7.tar.gz 85.3 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for aetherpod 0.4.7
File Interpreter ABI Platform
aetherpod-0.4.7-py3-none-any.whl Python 3 none any Details

Total release size: 166.2 kB

Release files / aetherpod-0.4.7.tar.gz

Download URL aetherpod-0.4.7.tar.gz
Size 85.3 kB
Tags Source
SHA-256 checksum
How to use checksums
891b82518ca581c05ab76708271219f55e4ed377a2d38cef5b813091523d1d65
BLAKE2b-256 checksum
How to use checksums
8864ee069d394a1d8ff30c2a39c6331a5f5def85e3996e587c7af39a63351998
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 10, 2026.

Transparency log

Release files / aetherpod-0.4.7-py3-none-any.whl

Download URL aetherpod-0.4.7-py3-none-any.whl
Size 81.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
df81c4d7e970cd8ffcc2e413b11208ee67a4d09eb524f5676b10c707b729df00
BLAKE2b-256 checksum
How to use checksums
862d0576b3d0d3c9784fa4bca6d45b1c5ee830bd23f76fe007179881f791192a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 10, 2026.

Transparency log

Security for aetherpod 0.4.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for aetherpod-0.4.7.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 10, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page