~/talk

Let's Make Better Command Line Applications

Talkat PyOhio 2016 · 2016-07-30..07-31· [developer-experience, ux-and-product-design]
slides:none on file

Practical checklist for better CLIs: use Python but favor real parsers — click + Colorama for sane defaults, docopt if you prefer spec-first, and argparse only when you can't add deps; export a console_scripts entry point, use a shebang with env, handle stdin/stdout/stderr (support dash for stdin/stdout), emit zero/nonzero exit codes, cascade defaults ← config ← env ← CLI, disable colors when not a terminal. Example: a character-counter reads stdin or file, writes results to stdout, logs to stderr or file, and behaves as expected.

AI-written summary · about

  1. 0:00Intro
  2. 1:22POSIX Standard
  3. 2:37Redirection
  4. 4:55Why Command Line
  5. 5:24Why Python
  6. 6:27Shell Scripts
  7. 7:19Command Line Applications
  8. 8:35Status Codes
  9. 9:22Configuration
  10. 11:01Colors
  11. 11:36Parsers
  12. 12:39Shebang Line
  13. 14:20Package
  14. 15:00Entry Points
  15. 16:24Purse
  16. 16:38Hello World
  17. 18:06clique
  18. 18:29decorators
  19. 18:55decorator click
  20. 19:55command line
  21. 22:10run
  22. 22:55example program
  23. 23:13new commandline module
  24. 25:10echo
  25. 27:42verbose
  26. 28:35Extras
  27. 28:49Cookie Cutter
  28. 29:31Logging
  29. 30:05Summary
  30. 30:23Questions
~/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.