Plugin de flake8 que detecta código Python que puede simplificarse, por ejemplo, combinando llamadas a isinstance o sustituyendo bloques if por expresiones ternarias.
PyCQA/mccabe
Herramienta de Python que calcula la complejidad ciclomática de McCabe de las funciones y funciona como plugin de flake8 para señalar código demasiado complejo.
- Estrellas
- 684
- Forks
- 70
- Issues abiertos
- 12
- Último commit
- hace 26 días
¿Qué es?
mccabe mide la complejidad de McCabe (ciclomática) del código Python, es decir, el número de rutas de ejecución independientes de una función. Una puntuación alta indica que cuesta leer y probar la función. El proyecto puede ejecutarse como módulo independiente sobre un archivo e imprimir las funciones cuya complejidad supera un umbral determinado.
También funciona como plugin de flake8, el verificador de código Python. Una vez instalado, el plugin está desactivado de forma predeterminada y se activa con la opción --max-complexity, que informa de una advertencia C901 por cada función cuya complejidad supere el valor indicado.
El proyecto se mantiene en la organización PyCQA y es compatible con versiones recientes de Python 3. La versión 0.7.0 dejó de ser compatible con las versiones de Python anteriores a la 3.6.
Funciones clave
- 01Calcula la complejidad ciclomática de McCabe de funciones y métodos de Python.
- 02Se ejecuta como comando independiente mediante python -m mccabe con un umbral --min.
- 03Se integra con flake8 mediante la opción --max-complexity e informa de advertencias C901.
- 04Es compatible con la sintaxis async/await y con versiones recientes de Python 3.
Casos de uso
- Señalar funciones demasiado complejas durante la revisión de código o en la integración continua.
- Establecer un límite de complejidad para todo un proyecto de Python mediante la configuración de flake8.
- Encontrar las funciones más complejas de un módulo antes de refactorizarlo.
Inicio rápido
- 1
Instala mccabe desde PyPI con pip
pip install mccabe - 2
Ejecuta el comprobador independiente en un archivo Python para mostrar las funciones más complejas
python -m mccabe --min 5 mccabe.py - 3
Úsalo como complemento de flake8 estableciendo una complejidad máxima
flake8 --max-complexity 10 coolproject
Antes de usarlo
- La licencia no está claramente especificada en los metadatos del proyecto, así que consulta el archivo de licencia antes de usarlo con fines comerciales.
- Las comprobaciones del complemento están desactivadas de forma predeterminada y deben habilitarse con --max-complexity.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es mccabe?
- Herramienta de Python que calcula la complejidad ciclomática de McCabe de las funciones y funciona como plugin de flake8 para señalar código demasiado complejo. mccabe mide la complejidad de McCabe (ciclomática) del código Python, es decir, el número de rutas de ejecución independientes de una función. Una puntuación alta indica que cuesta leer y probar la función. El proyecto puede ejecutarse como módulo independiente sobre un archivo e imprimir las funciones cuya complejidad supera un umbral determinado.
- ¿mccabe es gratuito? ¿Qué licencia tiene?
- mccabe es open source bajo la licencia Other. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿mccabe sigue mantenido?
- Mantenimiento activo. El último commit de mccabe fue el 12 oct 2026.
- ¿Para qué puedo usar mccabe?
- Señalar funciones demasiado complejas durante la revisión de código o en la integración continua. Establecer un límite de complejidad para todo un proyecto de Python mediante la configuración de flake8. Encontrar las funciones más complejas de un módulo antes de refactorizarlo.
- ¿Cómo se instala mccabe?
- Instala mccabe desde PyPI con pip: pip install mccabe Ejecuta el comprobador independiente en un archivo Python para mostrar las funciones más complejas: python -m mccabe --min 5 mccabe.py Úsalo como complemento de flake8 estableciendo una complejidad máxima: flake8 --max-complexity 10 coolproject
- ¿Dónde consigo mccabe?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/PyCQA/mccabe
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Un linter de Python que reúne PyFlakes, pycodestyle y McCabe en un solo comando y admite plugins de terceros.
Un plugin estricto y con criterios definidos para flake8 que aplica un estilo de Python coherente y sencillo, y señala patrones de código complejos.
Un plugin para flake8 y Pylama que comprueba si las importaciones de Python están agrupadas y ordenadas según una guía de estilo seleccionada.
Un analizador de Python en un solo archivo que comprueba el código según las convenciones de estilo de PEP 8 y solo usa la biblioteca estándar.
Un plugin de Flake8 que señala posibles errores y patrones de diseño cuestionables que pyflakes y pycodestyle no detectan.