PyReverse is a set of tools for reverse engineering Python code. So far, it features dependency analysis tools, documentation generation, and XMI generation for importation in a UML modeling tool. A special module can be used to generate files readable by Argo UML.
currently PyReverse build a representation of the source tree with:
· docstring for modules, classes, functions
· exceptions raised in functions
· module's attributes, functions, classes
· class's attributes defined in the class scope, inheritance links
· class instance's attributes defined in the __init__ method. If possible, get the default value
· function's parameters name and optional default value
· detection of interface/abstract classes and visibility using regular expressions
· detection of links between classes using attributes default value
PyReverse provides modules which use this representation for:
· producing a XMI 1.0 UML 1.3 DOM representation
· creating PGML diagrams definitions according to the project representation, the XMI definition and a XML file which describes briefly the content of the diagrams (see ???). Those diagrams can be readen/edited with Argo UML
· generating UML diagrams readable by VCG (see ???).
· analyzing dependencies (see ???).
· generate skeleton for unit tests, using the unit testing framework for the standard library.
· To use the PyReverse package, you need to install PyXML, Optik and Logilab's common library.
To install the package if you have downloaded the tarball version, just unpack the tarball and run python setup.py install.