Python Call Graph was made to be a visual profiling tool for Python applications. It uses a debugging Python function called sys.set_trace() which makes a callback every time your code enters or leaves function. This allows Python Call Graph to track the name of every function called, as well as which function called which, the time taken within each function, number of calls, etc.

It is able to generate different types of outputs and visualizations. Initially Python Call Graph was only used to generate DOT files for GraphViz, and as of version 1.0.0, it can also generate JSON files, and GDF files for Gephi. Creating custom outputs is fairly easy by subclassing the Output class.

You can either use the command-line interface for a quick visualization of your Python script, or the pycallgraph module for more fine-grained settings.


Add some examples and screenshots