Repolode
econchick

econchick/interrogate

CLI de Python que mide cuántas funciones, clases, métodos y módulos de una base de código tienen docstrings, con umbrales de aprobado o error aptos para CI.

Estrellas
678
Forks
58
Issues abiertos
42
Último commit
hace 4 días

¿Qué es?

interrogate analiza el código fuente de Python e informa qué módulos, clases, métodos y funciones tienen docstrings y cuáles no. Calcula el porcentaje de cobertura a nivel de proyecto, archivo u objeto, para que los equipos puedan evaluar qué tan bien está documentado el código y dónde hay carencias.

La herramienta está pensada tanto para hacer cumplir los requisitos como para generar informes. Finaliza con un estado de error cuando la cobertura queda por debajo de un umbral establecido (80 % de forma predeterminada, configurable con --fail-under). Así, es fácil incorporarla a pipelines de CI o hooks de pre-commit para exigir que el código nuevo esté documentado. La salida puede ser una tabla de resumen, una vista detallada por objeto o un modo silencioso para scripts.

El comportamiento se configura mediante pyproject.toml o setup.cfg. Se pueden ignorar categorías como los métodos __init__, los métodos mágicos, los objetos privados o anidados, los setters o las funciones @overload; excluir rutas y filtrar nombres con expresiones regulares. También admite los estilos de docstring de Sphinx y Google, y puede generar insignias de cobertura al estilo de shields.io en formato SVG o PNG. Es compatible con Python 3.8 y versiones posteriores.

Funciones clave

  • 01Informa la cobertura de docstrings de módulos, clases, métodos y funciones.
  • 02Falla si la cobertura queda por debajo de un umbral configurable, para usar en CI.
  • 03Ofrece modos de salida de resumen, detallado y silencioso.
  • 04Permite ignorar tipos de objetos seleccionados, como métodos mágicos y objetos privados o anidados.
  • 05Admite los estilos de docstring de Sphinx y Google.
  • 06Genera insignias de cobertura al estilo de shields.io en formato SVG o PNG.

Casos de uso

  • Exigir docstrings en el código nuevo mediante un job de CI o un hook de pre-commit.
  • Evaluar qué tan bien documentada está una base de código de Python desconocida.
  • Mostrar una insignia de cobertura de documentación en el README de un proyecto.
  • Dar seguimiento a las carencias de documentación archivo por archivo durante una tarea de limpieza.

Inicio rápido

  1. 1

    Instala interrogate desde PyPI con pip

    pip install interrogate
  2. 2

    Ejecuta interrogate en la ruta de un proyecto de Python para comprobar la cobertura de docstrings

    interrogate [PATH]

Antes de usarlo

  • Solo mide si existen docstrings, no su calidad.
  • Para generar insignias PNG se necesitan bibliotecas de sistema adicionales, como cairo.

En colecciones

Temas

Preguntas frecuentes

¿Qué es interrogate?
CLI de Python que mide cuántas funciones, clases, métodos y módulos de una base de código tienen docstrings, con umbrales de aprobado o error aptos para CI. interrogate analiza el código fuente de Python e informa qué módulos, clases, métodos y funciones tienen docstrings y cuáles no. Calcula el porcentaje de cobertura a nivel de proyecto, archivo u objeto, para que los equipos puedan evaluar qué tan bien está documentado el código y dónde hay carencias.
¿interrogate es gratuito? ¿Qué licencia tiene?
interrogate es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿interrogate sigue mantenido?
Mantenimiento activo. El último commit de interrogate fue el 2 nov 2026.
¿Para qué puedo usar interrogate?
Exigir docstrings en el código nuevo mediante un job de CI o un hook de pre-commit. Evaluar qué tan bien documentada está una base de código de Python desconocida. Mostrar una insignia de cobertura de documentación en el README de un proyecto. Dar seguimiento a las carencias de documentación archivo por archivo durante una tarea de limpieza.
¿Cómo se instala interrogate?
Instala interrogate desde PyPI con pip: pip install interrogate Ejecuta interrogate en la ruta de un proyecto de Python para comprobar la cobertura de docstrings: interrogate [PATH]
¿Dónde consigo interrogate?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/econchick/interrogate

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados