Pyreverse¶
pyreverse analyzes your source code and generates package and class diagrams.
It supports output to .dot/.gv, .vcg, .puml/.plantuml (PlantUML) and .mmd/.html (MermaidJS) file formats.
If Graphviz (or the dot command) is installed, all output formats supported by Graphviz
can be used as well. In this case, pyreverse first generates a temporary .gv file, which is then
fed to Graphviz to generate the final image.
Running Pyreverse¶
To run pyreverse, use:
pyreverse [options] <packages>
<packages> can also be a single Python module. To see a full list of the available options, run:
pyreverse -h
Example Output¶
Example diagrams generated with the .puml output format are shown below.
Class Diagram¶
Package Diagram¶
Creating Class Diagrams for Specific Classes¶
In many cases creating a single diagram depicting all classes in the project yields a rather unwieldy, giant diagram.
While limiting the input path to a single package or module can already help greatly to narrow down the scope, the -c option
provides another way to create a class diagram focusing on a single class and its collaborators.
For example, running:
pyreverse -ASmy -c pylint.checkers.classes.ClassChecker pylint
will generate the full class and package diagrams for pylint, but will additionally generate a file pylint.checkers.classes.ClassChecker.dot: