Skip to main content

CLI for the Talk Python to Me podcast and courses

Project description

Talk Python CLI

PyPI version Python 3.12+ License: MIT

Unlock 500+ episodes of Talk Python to Me, full transcripts, guest profiles, and 50+ Talk Python Training courses — all from your terminal. Search, browse, and pipe structured data into your scripts, AI agents, or automation workflows.

Why use this?

  • Automation — Query episode data, guest info, and course catalogs from scripts and pipelines.
  • LLM & AI integration — Pipe JSON or Markdown output directly into AI agents, RAG systems, or chat workflows. Feed transcripts into RAG pipelines, build podcast assistants, or enrich your AI tools with real Python community knowledge.
  • Quick lookups — Search episodes, pull transcripts, and browse courses without leaving the terminal.

Installation

Requires Python 3.12+.

# Install it permanently with uv
uv tool install talk-python-cli

# Or try it instantly with uvx (no install needed)
uvx --from talk-python-cli talkpython episodes recent

# Or with pip
pip install talk-python-cli

This installs the talkpython command.

Quick start

Copy this whole block and paste it into your terminal to see what you get.

# Search for episodes about FastAPI
talkpython episodes search "FastAPI"

# Get full details for a specific episode
talkpython episodes get 535

# Pull the transcript for an episode
talkpython episodes transcript 535

# List recent episodes
talkpython episodes recent --limit 5

# Search for a guest
talkpython guests search "Hynek"

# Browse all training courses
talkpython courses list

Commands

Episodes

Command Description
talkpython episodes search <query> [--limit N] Search episodes by keyword (default limit: 10)
talkpython episodes get <show_id> Get full details for an episode
talkpython episodes list List all episodes
talkpython episodes recent [--limit N] Get the most recent episodes
talkpython episodes transcript <show_id> Get the plain-text transcript
talkpython episodes transcript-vtt <show_id> Get the WebVTT transcript (with timestamps)

Guests

Command Description
talkpython guests search <query> [--limit N] Search guests by name
talkpython guests get <guest_id> Get details for a specific guest
talkpython guests list List all guests, sorted by number of appearances

Courses

Command Description
talkpython courses search <query> [--course_id N] Search courses, chapters, and lectures
talkpython courses get <course_id> Get full course details including chapters and lectures
talkpython courses list List all available training courses

Output formats

The CLI supports three output formats via --format:

  • text (default) — Rich-formatted Markdown with styled panels and color for human reading.
  • json — Structured JSON, pretty-printed on a TTY or compact when piped.
  • markdown — Raw Markdown output with no Rich formatting. Ideal for piping into AI agents, LLMs, and automation tools that consume Markdown natively.
# Force JSON output in the terminal
talkpython --format json episodes search "async"

# Raw Markdown for AI agents and LLM pipelines
talkpython --format markdown episodes get 535

# Force rich text output even when piping
talkpython --format text episodes recent | less -R

Agentic AI and LLM integration

Use --format markdown when feeding output to AI agents, LLMs, or RAG pipelines. This gives you clean, raw Markdown without terminal styling — exactly what language models expect:

# Feed an episode summary to an LLM
talkpython --format markdown episodes get 535 | llm "Summarize this podcast episode"

# Grab a transcript for RAG ingestion
talkpython --format markdown episodes transcript 535 | your-rag-pipeline ingest

# Pipe course details into an AI agent
talkpython --format markdown courses get 57 | your-agent process

Piping JSON to other tools

The --format json output integrates naturally with tools like jq or your own scripts:

# Extract episode titles with jq
talkpython --format json episodes search "testing" | jq '.title'

# Process structured data in a script
talkpython --format json episodes recent | python process_episodes.py

Global options

Option Description
--format text|json|markdown Output format: text (rich), json, or markdown (raw)
--url <mcp-url> Override the MCP server URL (default: https://talkpython.fm/api/mcp)
--version, -V Show version

Part of the Talk Python ecosystem

Talk Python CLI is one way to tap into the data behind the Talk Python to Me podcast and Talk Python Training courses. It connects to the same public MCP server that powers Talk Python's AI integrations — so whether you're building an agent, a search tool, or just want quick answers from the terminal, you're working with the real data.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

talk_python_cli-0.2.0.tar.gz (27.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

talk_python_cli-0.2.0-py3-none-any.whl (11.9 kB view details)

Uploaded Python 3

File details

Details for the file talk_python_cli-0.2.0.tar.gz.

File metadata

  • Download URL: talk_python_cli-0.2.0.tar.gz
  • Upload date:
  • Size: 27.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for talk_python_cli-0.2.0.tar.gz
Algorithm Hash digest
SHA256 99267dd8a0fb4346ca8e73e6e4d3738620601039bdbbe82dad07a50532997440
MD5 7b85ac215c36aea3f058a512e521803a
BLAKE2b-256 8db64ce56fdc89f2a2a547997583ee4291df8df9952a0fa46cf7537b42558795

See more details on using hashes here.

File details

Details for the file talk_python_cli-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: talk_python_cli-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 11.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for talk_python_cli-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f3e616aa69de03214644978b7cefa187fe85122bf6d1d22ccf342122d9846ca5
MD5 aa38cdf49626f6b92a6b7923b0d80ad6
BLAKE2b-256 bf4f9b69c63fca7b9606f192eb425ead1b22ce30b8dbf64103cc7513b1170581

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page