mcpField
T
typer-and-rich

typer-and-rich

github.com/jamie-bitflight开发46 次安装
代码仓库

关于 typer-and-rich

typer-and-rich 面向使用 Typer 和 Rich 构建命令行应用的开发者,聚焦非 TTY 环境下的行为、表格宽度、测试与异常处理,并提供参考资料和示例。

主要功能

  1. 01非 TTY 显示指南
  2. 02Rich 表格宽度测量
  3. 03pytest 输出捕获模式
  4. 04Typer 异常处理模式
  5. 05可运行的 CLI 示例

适用场景

  1. 01处理非交互环境中的终端输出
  2. 02避免 Rich 表格意外换行
  3. 03使用 pytest 测试 Rich 输出
  4. 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 工具时,可将其作为参考实现阅读。

评论

支持 Markdown