Sobre el proyecto

CytoScnPy es una herramienta de análisis estático de alto rendimiento para bases de código Python, implementada en Rust para ofrecer velocidad y un bajo consumo de memoria. Ofrece comprobaciones exhaustivas que incluyen la detección de código muerto (funciones, clases, importaciones y variables no utilizadas con soporte para cascada y corrección automática), detección de clones para código duplicado, escaneo de seguridad (claves secretas, análisis de taint para inyección SQL/XSS y patrones peligrosos como eval/exec), y un conjunto de métricas de calidad de código (complejidad ciclomática, métricas de Halstead, índice de mantenibilidad, LOC/SLOC). El analizador es compatible con diversos frameworks, entendiendo de forma nativa los patrones de Flask, Django, FastAPI, Pydantic y Azure Functions v2, y emplea heurísticas inteligentes para dataclasses, exportaciones __all__, patrones de visitante y atributos dinámicos. Realiza un seguimiento de los símbolos en todo el proyecto, garantizando una detección precisa del uso entre archivos. Los usuarios interactúan a través de una interfaz de línea de comandos con opciones para salida JSON, informes HTML, puertas de calidad para CI/CD y configuración mediante .cytoscnpy.toml o pyproject.toml. La instalación está disponible a través de un script de shell, PowerShell, pip o desde el código fuente utilizando maturin. El proyecto incluye un servidor MCP para la integración con asistentes de IA, una GitHub Action y documentación detallada, pruebas de rendimiento y directrices de contribución. Las pruebas de rendimiento muestran una alta precisión y exhaustividad en todos los tipos de detección, posicionando a CytoScnPy como una alternativa robusta y rápida a los linters y analizadores tradicionales de Python.