インタラクティブなAPIリファレンス、オフラインファーストのAPIクライアント、多数のWebフレームワーク向け連携機能を備えたオープンソースのOpenAPI/Swaggerツールキット。
mkdocstrings/griffe
Pythonパッケージの構造やシグネチャを抽出し、APIドキュメントの生成や破壊的変更の検出に使えるツール。
- スター
- 704
- フォーク
- 81
- 未解決の Issue
- 41
- 最終コミット
- 15 日前
これは何?
GriffeはPythonパッケージを読み込み、コードを実行せずにモジュール、クラス、関数、シグネチャを構造化して表現します。結果はJSONにシリアライズしたり、Pythonからたどったりできるため、ドキュメント生成ツールのデータソースとして活用できます。
CLIには主に2つのコマンドがあります。`griffe dump`は1つ以上のパッケージのAPIをJSONとして出力し、`griffe check`は現在のコードを以前のバージョンと比較して、引数の種類の変更などの破壊的変更を報告します。比較元はgit refまたは公開済みのPyPIリリースから読み込めます。また、`src`レイアウトにも対応しています。
Griffeはpipまたはuvでインストールできます。Python APIでは、スクリプトによるチェックやカスタムツールの構築に使える`load`、`load_git`、`find_breaking_changes`を提供しています。
主な機能
- 01Pythonパッケージの構造とシグネチャを静的に抽出します。
- 02`griffe dump`でAPIをJSONとして出力します。
- 03git refとの比較を含め、`griffe check`で破壊的変更を検出します。
- 04pypi extraを使うと、PyPIから取得したリリースとの比較もできます。
- 05パッケージの読み込みや破壊的変更の検出に使えるPython APIを提供します。
ユースケース
- PythonライブラリのAPIリファレンスドキュメントを生成する。
- リリース前にCIで意図しないシグネチャ変更を検出する。
- 新しいリリースをPyPI上の前バージョンと比較する。
- コードベースの公開APIを調査するカスタムツールを構築する。
クイックスタート
- 1
pipでGriffeをインストールする
pip install griffe - 2
パッケージのAPIをJSON形式でダンプする
griffe dump httpx fastapi - 3
パッケージにAPIの破壊的変更がないか確認する
griffe check mypackage --verbose
使う前に知っておきたいこと
- PyPIのパッケージを確認するには、オプションのpypi extraが必要です。
トピック
よくある質問
- griffe とは?
- Pythonパッケージの構造やシグネチャを抽出し、APIドキュメントの生成や破壊的変更の検出に使えるツール。 GriffeはPythonパッケージを読み込み、コードを実行せずにモジュール、クラス、関数、シグネチャを構造化して表現します。結果はJSONにシリアライズしたり、Pythonからたどったりできるため、ドキュメント生成ツールのデータソースとして活用できます。
- griffe は無料で使えますか?ライセンスは?
- griffe は ISC ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- griffe は今もメンテナンスされていますか?
- 活発にメンテナンス中。griffe の最終コミットは 2026年10月23日 です。
- griffe は何に使えますか?
- PythonライブラリのAPIリファレンスドキュメントを生成する。 リリース前にCIで意図しないシグネチャ変更を検出する。 新しいリリースをPyPI上の前バージョンと比較する。 コードベースの公開APIを調査するカスタムツールを構築する。
- griffe のインストール方法は?
- pipでGriffeをインストールする: pip install griffe パッケージのAPIをJSON形式でダンプする: griffe dump httpx fastapi パッケージにAPIの破壊的変更がないか確認する: griffe check mypackage --verbose
- griffe はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/mkdocstrings/griffe
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
多くの開発者向けリファレンスドキュメントを、検索やオフライン利用に対応したWebインターフェースに集約するAPIドキュメントブラウザー。
Linux、Windowsなどで、Dash docset形式のローカルにインストールしたdocsetを検索できるオフラインドキュメントブラウザー。
特別な設定なしで、モジュール、パッケージ、docstringからPython 3プロジェクトのAPIドキュメントを自動生成します。
外部依存なしの純粋なPythonで書かれたC99/C11パーサー。CソースからASTを生成します。