機能
FastAPIベースの設計¶
TyperはFastAPIの弟分です。
同じ設計思想を継承しています。FastAPIを知っていれば、Typerもほぼ理解できます。
モダンなPython¶
標準的なPython型宣言に基づいています。新しい構文を学ぶ必要はありません。標準的なモダンなPythonです。
Python型の使用方法を2分間復習する必要がある場合(FastAPIまたはTyperを使用しない場合でも)、FastAPIのチュートリアルセクションを参照してください:Python型入門。
20秒間の復習は、チュートリアル - ユーザーガイド:最初のステップセクションでもご覧いただけます。
エディタサポート¶
Typerは、最高の開発エクスペリエンスを確保するために、使いやすく直感的な設計になっています。いたるところで自動補完が機能します。
ドキュメントを参照する必要はほとんどありません。
エディタによる支援例
- PyCharmの場合
すべてにおいて補完が得られます。これは、現在他のCLIライブラリでは提供されていない機能です。
変数の型、None
かどうかなどを推測する必要はもうありません。
簡潔¶
すべてに適切なデフォルト値があり、あらゆる場所でオプションの設定が可能です。すべてのパラメータは必要に応じて微調整でき、ヘルプのカスタマイズ、パラメータごとのコールバック、必須にするかどうかなどを設定できます。
しかし、デフォルトでは、すべて「動作します」。
ユーザーフレンドリーなCLIアプリ¶
Typerで作成されたCLIアプリは、おそらく既に気に入っている多くの「プロ」コマンドラインプログラムの優れた機能を備えています。
- メインのCLIプログラムとそのすべての子コマンドに対する自動ヘルプオプション。
- コマンドとサブコマンド構造の自動処理(サブコマンドについては、チュートリアル - ユーザーガイドで詳しく説明します)。
- すべてのオペレーティングシステム、すべてのシェル(Bash、Zsh、Fish、PowerShell)でCLIアプリの自動補完が機能するため、アプリの最終ユーザーはTABキーを押すだけで、使用可能なオプションやサブコマンドを取得できます。*
* 自動補完
自動補完は、パッケージを作成して(`pip`でインストール可能)、または`typer`コマンドを使用する場合に機能します。
Typerは、補完のインストール時に現在のシェルを自動検出するために`shellingham`を使用します。`shellingham`を含めたくない場合は、`typer-slim`をインストールしてください。
Typerは自動的に2つのCLIオプションを作成します。
- `--install-completion`:現在のシェルの補完をインストールします。
- `--show-completion`:現在のシェルの補完を表示し、コピーしたりインストールをカスタマイズしたりできます。
`shellingham`を追加しなかった場合(`pip install typer-slim`をインストールした場合)、これらのCLIオプションは、補完をインストールするシェルの名前を持つ値を取ります。例:
`--install-completion bash`
.`--show-completion powershell`
.
CLIプログラムをインストールした後、ユーザーに補完をインストールするように指示すると、残りは自動的に機能します。
ヒント
Typerの補完は内部的に実装されており、Clickのアイデアとコンポーネント、`click-completion`のアイデアを使用していますが、`click-completion`を使用しておらず、Clickの関連部分の一部を再実装しています。
その後、これらのアイデアを機能とバグ修正で拡張しています。たとえば、Typerプログラムは、他のすべてのシェルの中でも、PowerShellの最新バージョン(Windows 10など)もサポートしています。
Clickの力¶
Clickは、PythonでCLIを構築するための最も人気のあるツールの1つです。
Typerはそれをベースにしているため、そのすべての利点が得られます。
しかし、モダンなPythonの利点を活かして、よりシンプルなコードを書くことができます。
テスト済み¶
- 100%テストカバレッジ。
- 100%型アノテーション済みコードベース。
- 本番アプリケーションで使用されています。