バグや脆弱性、保守性の問題をスキャンし、CIパイプラインでQuality Gatesを適用するセルフホスト型のコード品質・セキュリティプラットフォーム。
econchick/interrogate
コードベース内の関数、クラス、メソッド、モジュールのdocstring記述率を測定し、CI向けの合否しきい値を設定できるPython CLI。
- スター
- 678
- フォーク
- 58
- 未解決の Issue
- 42
- 最終コミット
- 5 日前
これは何?
interrogateはPythonのソースコードをスキャンし、docstringがあるモジュール、クラス、メソッド、関数と、ないものを報告します。プロジェクト、ファイル、オブジェクト単位でカバレッジ率を表示するため、コードのドキュメント整備状況と不足箇所を把握できます。
このツールは、レポートだけでなく基準の適用にも使えます。カバレッジ率が設定したしきい値(デフォルトは80%、--fail-underで変更可能)を下回ると失敗ステータスで終了します。CIパイプラインやpre-commitフックに組み込み、新たに追加するコードにdocstringを必須化できます。出力形式は、サマリーテーブル、オブジェクトごとの詳細表示、スクリプト向けの静音モードから選べます。
動作はpyproject.tomlまたはsetup.cfgで設定できます。__init__メソッド、マジックメソッド、プライベートまたはネストされたオブジェクト、setter、@overload関数などを集計対象から除外したり、パスを除外したり、正規表現で名前を絞り込んだりできます。Sphinx形式とGoogle形式のdocstringに対応し、shields.io風のカバレッジバッジをSVGまたはPNGで生成することもできます。Python 3.8以降に対応しています。
主な機能
- 01モジュール、クラス、メソッド、関数のdocstringカバレッジを報告します。
- 02カバレッジ率が設定可能なしきい値を下回ると失敗し、CIで利用できます。
- 03サマリー、詳細、静音の各出力モードを用意しています。
- 04マジックメソッド、プライベートまたはネストされたオブジェクトなど、指定した種類を集計対象から除外できます。
- 05Sphinx形式とGoogle形式のdocstringに対応しています。
- 06shields.io風のカバレッジバッジをSVGまたはPNGで生成します。
ユースケース
- CIジョブやpre-commitフックで、新しいコードへのdocstring記述を必須にする。
- 使い慣れていないPythonコードベースのドキュメント整備状況を評価する。
- プロジェクトのREADMEにドキュメントカバレッジバッジを表示する。
- 整理作業中に、ファイルごとのドキュメント不足箇所を追跡する。
クイックスタート
- 1
pipでPyPIからinterrogateをインストールします
pip install interrogate - 2
Pythonプロジェクトのパスに対してinterrogateを実行し、docstringのカバレッジを確認します
interrogate [PATH]
使う前に知っておきたいこと
- docstringの有無のみを測定し、品質は評価しません。
- PNGバッジの生成には、cairoなどの追加のシステムライブラリが必要です。
収録されている特集
トピック
よくある質問
- interrogate とは?
- コードベース内の関数、クラス、メソッド、モジュールのdocstring記述率を測定し、CI向けの合否しきい値を設定できるPython CLI。 interrogateはPythonのソースコードをスキャンし、docstringがあるモジュール、クラス、メソッド、関数と、ないものを報告します。プロジェクト、ファイル、オブジェクト単位でカバレッジ率を表示するため、コードのドキュメント整備状況と不足箇所を把握できます。
- interrogate は無料で使えますか?ライセンスは?
- interrogate は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- interrogate は今もメンテナンスされていますか?
- 活発にメンテナンス中。interrogate の最終コミットは 2026年11月2日 です。
- interrogate は何に使えますか?
- CIジョブやpre-commitフックで、新しいコードへのdocstring記述を必須にする。 使い慣れていないPythonコードベースのドキュメント整備状況を評価する。 プロジェクトのREADMEにドキュメントカバレッジバッジを表示する。 整理作業中に、ファイルごとのドキュメント不足箇所を追跡する。
- interrogate のインストール方法は?
- pipでPyPIからinterrogateをインストールします: pip install interrogate Pythonプロジェクトのパスに対してinterrogateを実行し、docstringのカバレッジを確認します: interrogate [PATH]
- interrogate はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/econchick/interrogate
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
プロジェクトごとに設定できる200以上のルールで、Swiftのスタイルや規約をチェックするリンターです。
PEP 257の規約に沿ってdocstringを自動整形するPython用コマンドラインツール。
Ruby向けのミューテーションテストツール。コードに変更を加え、テストスイートが見逃す変更を報告します。
オフラインで動作し、エディター、CI、コード内でチームの文章スタイル規則を適用できるコマンドラインの文章リンター。
識別子が変更されたAIエージェントのコピーコードも検出できる、ローカルで動作する決定論的な重複コード検出ツールです。