PodGrab
A command-line tool for downloading podcast episodes and generating transcriptions using OpenAI's Whisper model.
Features
- 🔍 Search podcasts using the iTunes Search API
- ⬇️ Download individual podcast episodes
- 🎯 Interactive episode selection for ambiguous matches
- 📝 Transcribe audio files using OpenAI's Whisper model
- 📊 Progress bar for downloads
- 📋 Support for different Whisper model sizes (tiny to large)
- 🔄 Non-interactive mode for automation
Installation
From PyPI (Recommended)
pip install podgrab
From Source (For Development)
- Make sure you have Python 3.11 or later installed
- Install Poetry if you haven't already:
pip install poetry
- Clone this repository and install dependencies:
git clone https://github.com/username/podgrab.git cd podgrab poetry install
Usage
Downloading Podcasts
Basic usage to download a podcast episode:
podgrab download "Podcast Name" "Episode Title"
Options:
--output/-o: Specify output directory (default: current directory)--non-interactive: Run without interactive prompts--verbose/-v: Enable verbose output--quiet/-q: Suppress non-error messages
Example:
podgrab download "The Daily" "Today's Episode" -o ~/Downloads
Transcribing Audio
Transcribe a downloaded podcast episode:
podgrab transcribe path/to/audio/file.mp3
Options:
--model/-m: Specify Whisper model size (tiny, base, small, medium, large)--output/-o: Save transcription to file (default: print to console)
Example:
podgrab transcribe podcast.mp3 -m medium -o transcript.txt
Requirements
- Python 3.11+
- Required Python packages (automatically installed):
- typer
- requests
- feedparser
- rich
- tqdm
- openai-whisper
- torch
- torchvision
- torchaudio
Development
-
Set up the development environment:
poetry install -
Run tests:
poetry run pytest
Contributing
- Fork the repository
- Create a new branch for your feature
- Make your changes
- Add or update tests as needed
- Submit a pull request
License
This project is licensed under the MIT License.
Acknowledgments
- Uses the OpenAI Whisper model for transcription
- Built with Typer for the CLI interface
- Uses the iTunes Search API for podcast discovery
Metadata
Release files for podgrab 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| podgrab-0.1.3.tar.gz | 5.7 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| podgrab-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 12.1 kB
Release files / podgrab-0.1.3.tar.gz
| Download URL | podgrab-0.1.3.tar.gz |
|---|---|
| Size | 5.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
879ec0c337a8d27cad932fad3007f200f2b1f0d965fe0ab748b377e9fa995def
|
|
BLAKE2b-256 checksum How to use checksums |
c9f0c708aa65b8f31c21d09e475187d101b31a2b1011f260e63ad69e52ab692e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.4 CPython/3.12.7 Darwin/24.0.0
|
Release files / podgrab-0.1.3-py3-none-any.whl
| Download URL | podgrab-0.1.3-py3-none-any.whl |
|---|---|
| Size | 6.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1a5ec7dba61ceecd7a61e27e983d0d05cc8fe02d63bcabc7c7ffc16de12d4e3c
|
|
BLAKE2b-256 checksum How to use checksums |
92e0f1147989d07da9c90c550dffabcba521f7b9adce60a1a11bf3dec6e1688a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.4 CPython/3.12.7 Darwin/24.0.0
|
Security for podgrab 0.1.3
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
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.