podcast_helper.cli_click module

Podcast Helper — click-based command-line interface.

Twin of podcast_helper.cli_argparse: same public surface (identical subcommand names, identical flag semantics), but implemented with click so users who already have a click-native shell setup (bash / zsh completion via click.shell_completion, colored --help, nested command groups) can plug it in without friction. Installed as the podcast-helper-click entry point in pyproject.toml.

Design notes

  • Subcommands mirror podcast-helper (the argparse twin) so both CLIs can be introspected identically by higher layers (FastAPI, MCP).

  • Flags reuse the argparse names (--url / --output / …) rather than a more idiomatic click positional style — consistency across the two CLIs beats micro-idiomaticity here.

  • Errors from the library propagate unchanged; click handles the formatting.

Usage Example

>>> #   podcast-helper-click feed    --url https://feeds.npr.org/510289/podcast.xml
>>> #   podcast-helper-click latest  --url https://feeds.npr.org/510289/podcast.xml --json
>>> #   podcast-helper-click stream  --url ep.mp3 --output ep.wav --sample-rate 16000
>>> #   podcast-helper-click record  --url https://feeds.npr.org/510289/podcast.xml --output ep.mp3
>>> #   podcast-helper-click probe   --url https://youtu.be/dQw4w9WgXcQ

Author

Warith Harchaoui, Ph.D. — https://linkedin.com/in/warith-harchaoui/