======================================================== PYREVERSE -- toolset for reverse engineering python code ======================================================== Features -------- * dependency analysis tools, * unit test generation, * XMI generation for importation in a UML modeling tool. * handle ArgoUML and VCG (Visual Graph Compiler) file formats Author : Sylvain Thenault - (c) 2001-2004 Logilab S.A. Website: http://www.logilab.org/projects/pyreverse/ License: GPL2 Mailing list: python-projects@logilab.org What should I expect from pyreverse ? -------------------------------------- currently pyreverse build a representation of the source tree with: * docstring for modules, classes, functions * exceptions raised in functions * classes attributes defined in the class scope, inheritance links * instances attributes defined in the __init__ method. If possible, get the default value/ * functions parameters name and optional default value * detection of interface/abstract classes, visibility using regular expressions * detection of links between classes using attributes default value PyReverse provides modules which use this representation to produce a XMI 1.0 UML 1.3 file and PGML diagrams definitions used by ArgoUML. We recommend to use ArgoUML > 0.9 since older version doesn't implement algorithms to automatically layout objects of the diagram and pyargo only generate a minimal PGML file without placing objects. Notice that the representation of the project files is a classes hierarchy that can be used to do many others things than generate UML diagrams. Requirements ------------ You need at least Python 2.0 and PyXml to install and run pyreverse Download -------- You can get the latest version of pyreverse at http://www.logilab.org/projects/pyreverse/ Install ------- To install the tarball distribution do :: python setup.py install or do :: python setup.py help to display available options. Or add the pyreverse directory to your PYTHONPATH. Usage ----- use python `pystats.py -h` or `python pyargo.py -h` for command line options Useful tips ----------- * in order to be able to resolve imports correctly, you have to place yourself in the correct directory, the root of the package directory. For instance, to document the package "pyreverse" in the Python site packages directory, you have to type: :: cd ~/lib/python21/site-packages/ pyargo -p PyReverse pyreverse * name imported in source files with `from module import *` won't be resolved. You can use pystats to see which modules use this kind of statement Future improvements ------------------- * xmi/pgml generation for states diagrams Credits ------- The main author is Sylvain Thenault .