Repolode
econchick

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

    pipでPyPIからinterrogateをインストールします

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

関連プロジェクト

Ruby向けのミューテーションテストツール。コードに変更を加え、テストスイートが見逃す変更を報告します。

開発ツール#mutation-testing#ruby#testing
2212162RubyOther活発にメンテナンス更新 5 日前