Repolode
mkdocstrings

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. 1

    pipでGriffeをインストールする

    pip install griffe
  2. 2

    パッケージのAPIをJSON形式でダンプする

    griffe dump httpx fastapi
  3. 3

    パッケージにAPIの破壊的変更がないか確認する

    griffe check mypackage --verbose

使う前に知っておきたいこと

  • PyPIのパッケージを確認するには、オプションのpypi extraが必要です。

トピック

#python#api-documentation#breaking-changes#static-analysis#developer-tools#docs#api#mkdocstrings-collector#parser#signature

よくある質問

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 の数値は毎日更新されます。

関連プロジェクト