功能
基于FastAPI的设计¶
Typer 是 FastAPI 的小兄弟。
它遵循相同的设计和理念。如果您了解 FastAPI,那么您已经了解 Typer... 或多或少。
只是现代 Python¶
它完全基于标准Python 类型声明。无需学习新语法。只是标准的现代 Python。
如果您需要 2 分钟的复习来了解如何使用 Python 类型(即使您不使用 FastAPI 或 Typer),请查看 FastAPI 教程部分:Python 类型简介。
您还将在 教程 - 用户指南:第一步 部分看到 20 秒的复习。
编辑器支持¶
Typer 的设计易于使用且直观,以确保最佳的开发体验。随处都有自动补全功能。
您几乎不需要再返回文档。
以下是您的编辑器可能如何帮助您
- 在 PyCharm 中
您将获得所有内容的补全。这是目前没有任何其他 CLI 库提供的功能。
无需再猜测变量的类型,它是否可以是 None
等。
简短¶
它为所有内容都设置了明智的默认值,随处都有可选配置。所有参数都可以微调以执行您需要的内容,自定义帮助、每个参数的回调、使其成为必需项或非必需项等。
但默认情况下,它都会“正常工作”。
用户友好的 CLI 应用程序¶
使用Typer 创建的最终 CLI 应用程序具有您可能已经喜爱的许多“专业”命令行程序的优点。
- 主 CLI 程序及其所有子命令的自动帮助选项。
- 自动命令和子命令结构处理(您将在教程 - 用户指南中看到更多有关子命令的内容)。
- 在所有操作系统、所有 shell(Bash、Zsh、Fish、PowerShell)中自动补全 CLI 应用程序,以便应用程序的最终用户只需按 TAB 即可获得可用选项或子命令。*
* 自动补全
当您创建一个包(可使用 pip
安装)时,自动补全功能才会起作用。或者在使用 typer
命令时。
Typer 使用 shellingham
在安装补全时自动检测当前 shell。如果您不想包含 shellingham
,请安装 typer-slim
。
Typer 将自动创建 2 个CLI 选项
--install-completion
:为当前 shell 安装补全。--show-completion
:显示当前 shell 的补全,以复制或自定义安装。
如果您没有添加 shellingham
(如果您安装了 pip install typer-slim
),则这些CLI 选项会采用一个值,其中包含要为其安装补全的 shell 名称,例如
--install-completion bash
.--show-completion powershell
.
然后,您可以在安装 CLI 程序后告诉用户安装补全,其余部分将正常工作。
提示
Typer 的补全功能在内部实现,它使用了 Click 的想法和组件以及 click-completion
的想法,但它不使用 click-completion
,而是重新实现了 Click 的一些相关部分。
然后,它用功能和错误修复扩展了这些想法。例如,Typer 程序在所有其他 shell 中还支持现代版本的 PowerShell(例如,在 Windows 10 中)。
Click 的强大功能¶
Click 是 Python 中用于构建 CLI 的最流行的工具之一。
Typer 基于它,因此你可以获得它的所有好处。
但是你可以使用现代 Python 的好处来编写更简单的代码。
已测试¶
- 100% 测试覆盖率。
- 100% 类型注释 代码库。
- 用于生产应用程序。