PyReverse is a reverse engineering tool developed to visualize the static structure design ( in class diagram ) and dynamic program behavior ( in sequence diagram ) of a python program. The input can be any executable python program. PyReverse analyzes the program structure and outputs the structure design in UML-XMI file format. The dynamic behavior is retrieved by inserting detection points inside the methods or functions as specified by tool users. Through program execution, the message passing information will be gathered to produce a sequence diagram, which is also output in XMI-UML file format.