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