
🗺️ ¿Cómo entendés la arquitectura de un proyecto Python sin leer miles de líneas?
Pyreverse genera automáticamente diagramas UML de clases y dependencias de paquetes analizando el código fuente. Está integrado en Pylint desde la versión 0.15 (2008) y sigue siendo una herramienta vigente.
🔧 Uso básico:
# Genera diagramas de paquetes y clases en PNG
pyreverse -o png -p MiProyecto src/
# Resultado:
# packages_MiProyecto.png → dependencias entre módulos
# classes_MiProyecto.png → jerarquía de clases📐 ¿Qué incluye cada diagrama?
| Elemento | Detalle |
|---|---|
| Atributos | Con tipo si se puede inferir |
| Métodos | Todos los métodos de la clase |
| Herencia | Links entre clases padre-hijo |
| Asociaciones | Relaciones entre instancias |
| Excepciones | Representadas como clases |
⚙️ Opciones útiles:
-k # Solo clases (sin atributos ni métodos) — ideal para vista general
-f ALL # Muestra TODOS los atributos y métodos (incluyendo privados)
-A -S # Expande todos los ancestros y clases asociadas
-m n # Oculta el nombre del módulo en los nodos💡 Tip para proyectos grandes:
# Vista rápida de dependencias sin perderse en detalles
pyreverse -ASmy -k -o png src/ -p Overview🔍 Explicación en pocas palabras
Un diagrama UML es como un mapa del código: muestra qué clases existen, qué atributos y métodos tienen, y cómo se relacionan entre sí. Pyreverse lee tu código Python y genera ese mapa automáticamente, sin que tengas que dibujarlo a mano. Es como tener documentación visual siempre actualizada.
Más información en el link 👇
También publicado en LinkedIn.
