~/talk

Upgrading Python CLIs From Scripts to Interactive Tools

Talkat PyCon US 2026 · 2026-05-13..05-19· [python, developer-experience]
name:Avik Basu
links:none on file
slides:none on file

Builds a real CLI from argparse through Typer + Rich + Textual, with live coding that replaces verbose arg parsing with type‑safe Typer flags, adds progress bars/tables with Rich, and a refreshing TUI via Textual. Shows concrete choices: keep JSON output for composability, recommend pipx for installation, avoid heavy imports (help runs under 0.2s after lazy loading/getattr trick), and use platformdirs/XDG for config and cache.

AI-written summary · about

  1. 0:00CLI upgrades journey
  2. 3:15Why great CLIs matter
  3. 4:38ML model explainability CLI
  4. 6:01Requirements for a good CLI
  5. 7:25Scripts to CLI command
  6. 9:33Pain points of argparse
  7. 9:53Introducing Typer
  8. 12:21Enhancing output with Rich
  9. 13:26Typer and Rich demo
  10. 18:21Interactive UIs with Textual
  11. 20:48Production patterns for CLIs
  12. 26:45Choosing CLI tools
  13. 27:28Closing remarks
  14. 27:48Q&A: Porting CLIs to TUI
  15. 29:51Q&A: Starting from templates
  16. 30:33Q&A: Async I/O in Textual
  17. 31:14Q&A: JSON output for agents
  18. 31:57Q&A: CLI frameworks
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.