Skip to content

Installation guide

Canonical install paths live in the repository README.md (Quick Start, pip / pipx / uv, extras, .env, verification).

First pipeline run after install: use a named profile, an operator YAML, and a feed list together — same as README.md — Typical run:

python -m podcast_scraper.cli \
  --profile cloud_balanced \
  --config config/manual/operator_defaults.yaml \
  --feeds-spec config/manual/feeds.spec.registry_10.yaml
  • --profile — Preset under config/profiles/<name>.yaml (merged as defaults).
  • --config — Operator file (output_dir, max_episodes, flags, …); keys override the profile.
  • Feeds--feeds-spec (structured { feeds: [...] }), --rss-file (one URL per line), or a URL on the command line / --rss. Do not mix --feeds-spec with --rss-file or explicit RSS URLs in one invocation.

CLI details: CLI.md — Quick Start, CLI.md — RSS and multi-feed. Config semantics: CONFIGURATION.md — Multi-feed compose.

Optional: neural diarization and Deepgram

Neural speaker diarization (local Whisper only, default on in local profiles):

pip install -e ".[ml]"   # includes pyannote.audio + torchaudio
export HF_TOKEN=hf_...   # accept pyannote model terms on HuggingFace first
# disable if needed:
python -m podcast_scraper.cli --profile local --no-diarize ...

Deepgram transcription:

pip install -e ".[llm]"   # includes deepgram-sdk
export DEEPGRAM_API_KEY=...
python -m podcast_scraper.cli --transcription-provider deepgram ...

Full narrative: Audio Pipeline Guide.