Repolode
econchick

econchick/interrogate

一款 Python 命令行工具,统计代码库中函数、类、方法和模块的 docstring 覆盖率,并可设置通过阈值用于 CI。

Star
678
Fork
58
未关闭 Issue
42
最近提交
5天前

这是什么?

interrogate 扫描 Python 源代码,报告哪些模块、类、方法和函数带有 docstring,哪些没有,并给出项目、文件或对象级别的覆盖率百分比。团队可以借此了解代码文档的完善程度,并找到缺漏之处。

除了统计报告,它还可以用于强制执行。覆盖率低于设定阈值(默认 80%,可通过 --fail-under 调整)时命令以失败状态退出,因此很容易加入 CI 流程或 pre-commit 钩子,要求新增代码必须写文档。输出形式包括汇总表格、逐对象的详细视图,以及适合脚本使用的静默模式。

配置可写在 pyproject.toml 或 setup.cfg 中。用户可以忽略 __init__ 方法、魔术方法、私有或嵌套对象、setter 以及 @overload 函数,也能排除指定路径,并用正则表达式筛选名称。工具支持 Sphinx 和 Google 两种 docstring 风格,还能生成 SVG 或 PNG 格式的 shields.io 风格覆盖率徽章。支持 Python 3.8 及以上版本。

核心功能

  • 01统计模块、类、方法和函数的 docstring 覆盖率。
  • 02覆盖率低于可配置阈值时以失败状态退出,便于接入 CI。
  • 03提供汇总、详细和静默三种输出模式。
  • 04可忽略魔术方法、私有或嵌套对象等特定类型。
  • 05支持 Sphinx 和 Google 两种 docstring 风格。
  • 06生成 SVG 或 PNG 格式的 shields.io 风格覆盖率徽章。

适用场景

  • 通过 CI 任务或 pre-commit 钩子强制新代码编写 docstring。
  • 评估一个陌生 Python 项目的文档完善程度。
  • 在项目 README 中展示文档覆盖率徽章。
  • 在文档补齐工作中逐文件追踪缺漏。

快速上手

  1. 1

    使用 pip 从 PyPI 安装 interrogate

    pip install interrogate
  2. 2

    对 Python 项目路径运行 interrogate 检查文档字符串覆盖率

    interrogate [PATH]

使用前须知

  • 仅检测文档字符串是否存在,不评估其质量。
  • 生成 PNG 徽章需要额外的系统库,例如 cairo。

收录于专题

标签

常见问题

interrogate 是什么?
一款 Python 命令行工具,统计代码库中函数、类、方法和模块的 docstring 覆盖率,并可设置通过阈值用于 CI。 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 检查文档字符串覆盖率: interrogate [PATH]
在哪里获取 interrogate?
源代码和安装说明在 GitHub 上:https://github.com/econchick/interrogate

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目