OSS探訪

Pythonの型ヒントから引数・オプション・ヘルプ・シェル補完を組み立て、単一関数から複雑なCLIへ拡張する

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
20,049
主要言語
Python
ライセンス
MIT
リポジトリ最終更新
2026/10/01
ページ内ナビ

概要

TyperはPythonの型ヒントを使ってCLIアプリを作るライブラリです。関数の引数と型からCLI引数・オプション・ヘルプを組み立て、シェル補完や読みやすいエラー表示も提供します。小さなスクリプトから複数のサブコマンドを持つCLIまで同じ書き方で拡張できます。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

型ヒントをCLIの入力定義として再利用する

関数の引数と標準的なPython型をもとに、位置引数・オプション・型変換・ヘルプを生成できます。CLI専用の定義を別に重ねず、エディタの補完や型チェックを活かせます。

出典:[1]

単一コマンドからサブコマンド構成へ段階的に広げる

最小構成ではtyper.run()で1関数をCLI化し、必要になればTyper()と@app.command()を使って複数コマンドやサブコマンドの木構造へ拡張できます。

出典:[1]

既存スクリプトをtyperコマンドからそのまま実行する

Typerをimportしていない単純なPythonスクリプトでも、typerコマンドから関数をCLIとして実行できます。自動ヘルプや引数検証を付けて小さな社内スクリプトを試す用途にも使えます。

出典:[1]

向いている用途

Pythonの型情報を保ちながら運用CLIや開発ツールを作りたい場合に向く

Pythonで管理コマンド、社内ツール、開発補助CLIを作り、入力型・ヘルプ・補完を少ない重複で維持したいチームに適します。

出典:[1]

導入前の確認

0.27.2はPython 3.10以上を必要とする

0.27.2のパッケージメタデータはrequires-python = ">=3.10"を宣言しています。古いPython実行環境へ追加する場合は、対応するTyperのバージョンと依存関係を別途確認します。

出典:[2]

Clickの内部互換性を前提にした拡張は見直す

Typerは0.26.0からClickのソースコードを内部に含める方式へ移行し、READMEは一部のClick機能が今後利用できなくなる可能性を示しています。Clickの内部APIへ直接依存する拡張は更新前に確認が必要です。

出典:[1]

参考にした公式資料

  1. [1]Typer 0.27.2 README(2026-10-04)
  2. [2]Typer 0.27.2 package metadata(2026-10-04)
  3. [3]Typer 0.27.2 release(2026-10-04)
  4. [4]Typer MIT license(2026-10-04)
編集部からの補足

型ヒントをすでに活用しているPythonコードでは、CLI定義と入力型を二重管理しにくいのがTyperの強みです。一方でClickの内部APIを前提にした拡張は、0.26.0以降のClickを内包する方針を確認してから更新してください。

3ステップで試す

  1. 1

    Typer 0.27.2を既存のuvプロジェクトへ追加する

    Python 3.10以上のuv管理プロジェクト内で、確認済みversionへ固定して追加します。

    uv add 'typer==0.27.2'
  2. 2

    型ヒントだけの最小スクリプトを作る

    READMEの最小例と同様に、Typerをimportしない単純な関数を用意します。

    printf 'def main(name: str):\n print(f"Hello {name}")\n' > main.py
  3. 3

    typerコマンドでCLIとして実行する

    関数の型ヒントからCLI引数が作られ、nameを渡して実行できることを確認します。

    uv run typer main.py run Camila
公式READMEで確認

成長

成長の推移 · 直近30日

20,049 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
2
Open PR
52

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • cli
  • click
  • python3
  • typehints
  • terminal
  • shell
  • python
  • typer
Stars
20,049
Forks
983
Watchers
79
Open Issues
1
Contributors
106
所有者種別
Organization
主要言語
Python
ライセンス
MIT
リポジトリ最終更新
2026/10/01

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?
Typerとは?Python型ヒントでCLIを作るライブラリ | OSS探訪