class diagram viewer application for python3 source

I found that the accepted answer violated the principle of least surprise :)

Given a current directory that contains python files as well as source in subdirectories, running pyreverse -o png -p py_test . meant Pylint picked up __init__.py and then went on to create a UML diagram of r:\apps\python3\lib\encodings\.

Using pyreverse -o png -p py_test ./main.py generated a blank PNG as no classes where defined within that source file.

However, pyreverse -o png -p py_subdir ./py_subdir did get some sensible results. It generated both class and package diagrams for all code in the subdirectory. Somewhat counter-intuitive.


Yes there is: with pylint comes pyreverse that will generate class diagrams (not as pretty as the one in reference I am afraid, but clear and useful.) There is a dependency with graphviz.

From command line:

To analyse a full or part of a package

$ pyreverse -o png -p <project name>

To analyse one specific file:

$ pyreverse -o png -p myproject \path\to\myproject\myfile.py 

Example output: Class Diagram

enter image description here

Example output: Packages

enter image description here