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.
Metadata
Release files for allcasts 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| allcasts-0.2.0.tar.gz | 7.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| allcasts-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 14.6 kB
Release files / allcasts-0.2.0.tar.gz
| Download URL | allcasts-0.2.0.tar.gz |
|---|---|
| Size | 7.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d37e7e73010ef91a06345e4baf929ed0406c23d234bbb2355084cff6346805ba
|
|
BLAKE2b-256 checksum How to use checksums |
dcb2c6c37e7e91091180f19a2944695bc0aaea529e4027bd0f7ab32864369760
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|
Release files / allcasts-0.2.0-py3-none-any.whl
| Download URL | allcasts-0.2.0-py3-none-any.whl |
|---|---|
| Size | 7.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
83303ec2a5de989ed66f770e15b6240f35fccc7b706a29705badecf78248db9e
|
|
BLAKE2b-256 checksum How to use checksums |
4097850cc74898b59eb0679e91163f46a585c515949f635d68f85cc61774b8f1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|