A simple command line podcast feed syncer
Project description
podpuller
A simple python app to sync your podcasts with RSS feeds and transfer to an external MP3 player
Quick Start
pip install podpuller- Copy
feeds.example.confto~/.config/podpuller/feeds.conf - Put in URLs of RSS feeds, using a unique section name for each feed. No need to put in title.
- You can now use the command
podpuller
Motivation
After giving up my smartphone and buying a cheapo MP3 player I wanted a way to keep my feeds synced.
There are many great programs for this out there, like Greg, but it didn't really fit my workflow, which was having a certain number of the newest episodes of each podcast, and manually marking the ones I have already listened to.
This is that app. It was heavily inspired (and liberally copied) from the excellent upodder which is no longer maintained.
Workflow
Config: ~/.config/podpuller/feeds.conf
- Choose your RSS feeds
- Specify how many episodes you want (can be 'all')
- Choose serial (oldest first) or regular + optional start date
Run: podpuller [opt:single_feed]
- Mark the ones you listened to (or skip with "quick mode")
- Wait for sync (only syncs single feed if specified)
- Optionally, transfer to external drive
Config
The config file is read from ~/.config/podpuller/feeds.conf and you have an example here. It is pretty straightforward:
Global Configs
data directory: Where to store the SQL database of downloaded and listened episodes.download directory: Where to download the podcasts to.mp3 player directory: Where to sync the download directory to.
Feed Configs
- Every feed goes into a directory named by its config file section (e.g.,
talin the sample conf file). - The
serialconfig gets episodes from oldest to newest. start dateignores everything before that date (useful forserialpodcasts).- There's no need to provide a name for the feed, just a URL, the name will be auto-filled from the RSS feed.
Notes
- Sync both transfers and deletes files. It basically does an exact copy.
- All defaults, including
rsyncflags, are for MacOS but can probably be easily changed for UN*X systems.
Rant
RSS is a long-standing open standard for updated feeds. Your podcast success is built on the shoulders of many open-source and open-format developers who poured their heart into it. Please stop making your podcast available only through proprietary channels like Spotify, iTunes, etc. Give back by also publishing your RSS feed. Thanks!
Roadmap
Tag MP3 files with info from feedPut project on PyPIUI improvementsHandle "oldest-first" workflow for serial podcasts
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file podpuller-1.4.6.tar.gz.
File metadata
- Download URL: podpuller-1.4.6.tar.gz
- Upload date:
- Size: 10.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d70ccd8e37010c37792d12c186fbb61c1c71cef93c9a9a5c306ff75a2bfed71b
|
|
| MD5 |
89ed8458653326bd810e04a9c9d6915c
|
|
| BLAKE2b-256 |
35b1f7ec57e16d4164d7d6825648825438edd08c0ad7cf955624d084ecf32753
|
File details
Details for the file podpuller-1.4.6-py3-none-any.whl.
File metadata
- Download URL: podpuller-1.4.6-py3-none-any.whl
- Upload date:
- Size: 10.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5748c6e1f2de32c18277e71984f0a3dd7f12cff40b3c42c9b0ba92eafca63ddc
|
|
| MD5 |
077b0f81b262c2fc1e52f2d12985eec2
|
|
| BLAKE2b-256 |
97728028551475466ffe78c20812b93ef14120021c178fc6dfda0da509f5bcae
|