跳至内容

功能

基于FastAPI的设计

TyperFastAPI 的小兄弟。

它遵循相同的设计和理念。如果您了解 FastAPI,那么您已经了解 Typer... 或多或少。

只是现代 Python

它完全基于标准Python 类型声明。无需学习新语法。只是标准的现代 Python。

如果您需要 2 分钟的复习来了解如何使用 Python 类型(即使您不使用 FastAPI 或 Typer),请查看 FastAPI 教程部分:Python 类型简介

您还将在 教程 - 用户指南:第一步 部分看到 20 秒的复习。

编辑器支持

Typer 的设计易于使用且直观,以确保最佳的开发体验。随处都有自动补全功能。

您几乎不需要再返回文档。

以下是您的编辑器可能如何帮助您

editor support

editor support

您将获得所有内容的补全。这是目前没有任何其他 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% 类型注释 代码库。
  • 用于生产应用程序。