关于 typer-and-rich
typer-and-rich 面向使用 Typer 和 Rich 构建命令行应用的开发者,聚焦非 TTY 环境下的行为、表格宽度、测试与异常处理,并提供参考资料和示例。
主要功能
- 01非 TTY 显示指南
- 02Rich 表格宽度测量
- 03pytest 输出捕获模式
- 04Typer 异常处理模式
- 05可运行的 CLI 示例
适用场景
- 01处理非交互环境中的终端输出
- 02避免 Rich 表格意外换行
- 03使用 pytest 测试 Rich 输出
- 04设计 Typer 应用的错误处理
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ jamie-bitflight/ claude_skills --skill typer-and-rich安装后在 Claude Code 中输入/typer-and-rich确认已加载。
详细介绍
Typer 和 Rich 最佳实践
<user_input>$ARGUMENTS</user_input>
如果 <user_input/> 中包含目录或文件,则应专门根据本指南检查该目录或文件。立即开始。如果为空,则将本指南用作现有任务的参考。
使用 Typer 和 Rich 构建 CLI 应用程序的正确模式,重点关注非 TTY 环境和常见故障模式。如需 API 参考,请加载专用技能:
Skill(skill="python-engineering:typer")— Typer CLI 框架 API 参考- Rich API 参考请参阅
../python3-cli/references/rich-console-and-markup.md及相关 Rich 参考资料
非 TTY 和程序化用法
请参阅 python-engineering:standards-for-python-development,了解共享规则(架构、类型标注、测试、CLI 规则)。
请参阅 ../python3-cli/references/typer-rich-non-tty-patterns.md — 无 TTY 时的 Console 行为、默认宽度、force_terminal 与 width、非交互式环境中的 Progress/Live、环境变量。
Rich 表格宽度测量
请参阅 ../python3-cli/references/typer-rich-tables.md — 可防止非 TTY 输出在 80 列处换行的宽度测量模式。
测试模式
请参阅 ../python3-cli/references/typer-rich-testing-patterns.md — 在 pytest 中捕获 Rich 输出、将 CliRunner 与 Rich 结合使用、快照测试、常见断言错误。
防止异常链
请参阅 ../python3-cli/references/typer-rich-exception-handling.md — 使用 AppExit 和 AppExitRich 模式防止 Typer 异常链。在 Typer CLI 应用程序中实现错误处理时阅读。
可运行脚本示例
请参阅 ../python3-cli/assets/typer_examples/index.md — 展示非 TTY 显示解决方案的可运行脚本。排查终端应用程序的显示和布局问题时阅读。
请参阅 ../python3-cli/assets/python-cli-demo.py — 完整可运行的 CLI 演示,涵盖所有模式(PEP 723 shebang、Typer + Rich 集成、现代 Python 3.11+、异步处理)。创建新的 CLI 工具时,可将其作为参考实现阅读。