A simple command line tool to download all podcasts from a given RSS feed
Project description
allcasts 📻 🗃
A Python package for downloading all available episodes from a podcast RSS feed. Useful for making private archives of your favourite podcasts.
Installation
pip install allcasts
Usage
Command Line: Interactive Mode
From your terminal run allcasts which will kindly ask you for the an RSS feed's URL and download all available episodes for that podcast.
$ allcasts
==========================================================
========= Welcome to the AllCasts App! ========
==========================================================
Please enter the URL of the podcast feed you want to download: https://atp.fm/rss
Please enter the directory you want to download the podcast to [leave blank for current dir]:
Downloading all podcasts from https://atp.fm/rss to /Users/lewis/Documents/Python-Projects/allcasts
Downloading https://traffic.libsyn.com/atpfm/atp464.mp3
[............................................................................................]
🎧 Downloaded 464: Monks at Drafting Tables
Downloading https://traffic.libsyn.com/atpfm/atp463.mp3
[............................................................................................]
🎧 Downloaded 463: No Indication of Progress
Downloading https://traffic.libsyn.com/atpfm/atp462.mp3
[............................................................................................]
🎧 Downloaded 462: Xcode X
Downloading https://traffic.libsyn.com/atpfm/atp461.mp3
[........... ]
Command Line: Arguments
Allcasts supports a variety of command line arguments. To display help message below use allcasts -h
usage: allcasts.py [-h] [-d <DIRECTORY>] -f <URL> [-s <NUMBER>] [-e <NUMBER>] [-a] [-n <NUMBER>]
A friendly command line podcast downloader - supports downloading entire feeds, individual episodes, and a range of episodes
optional arguments:
-h, --help show this help message and exit
-d <DIRECTORY>, --directory <DIRECTORY>
the directory to save the podcast episodes
-f <URL>, --feed <URL>
the url of the podcast feed
-s <NUMBER>, --start <NUMBER>
the number of the first episode to download
-e <NUMBER>, --end <NUMBER>
the number of the last episode to download
-a, --all download all episodes
-n <NUMBER>, --number <NUMBER>
download a specific episode
Example Commands:
Download episodes 100 to 120
allcasts -f "https://atp.fm/rss" -s 100 -e 120
Download all episodes of a podcast
allcasts -f "https://atp.fm/rss" -a
Download episode 200
allcasts -f "https://atp.fm/rss" -n 100
As a Python module
allcasts is a Python module that can be imported and used in your own Python code too!
from allcasts import AllCasts
AllCasts.download_all('https://atp.fm/rss', '/Users/lewis/Documents/Python-Projects/allcasts')
Limitations
- Private Patreon RSS feeds are not currently supported due to their strange DRM measures.
Todo
- Add support for downloading multiple podcasts at once.
- Add support for command line arguments.
- Add itunes API support to search for podcasts and select the correct feed.
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 allcasts-0.2.0.tar.gz.
File metadata
- Download URL: allcasts-0.2.0.tar.gz
- Upload date:
- Size: 7.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d37e7e73010ef91a06345e4baf929ed0406c23d234bbb2355084cff6346805ba
|
|
| MD5 |
5dbd439032f3d3f64ec1f2742d38d6c9
|
|
| BLAKE2b-256 |
dcb2c6c37e7e91091180f19a2944695bc0aaea529e4027bd0f7ab32864369760
|
File details
Details for the file allcasts-0.2.0-py3-none-any.whl.
File metadata
- Download URL: allcasts-0.2.0-py3-none-any.whl
- Upload date:
- Size: 7.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
83303ec2a5de989ed66f770e15b6240f35fccc7b706a29705badecf78248db9e
|
|
| MD5 |
350d0fcbaf39078ae0a21477fe141e77
|
|
| BLAKE2b-256 |
4097850cc74898b59eb0679e91163f46a585c515949f635d68f85cc61774b8f1
|