Skip to main content

Python Call Graph is a Python module that creates call graph visualizations for Python applications.

Project description

CircleCI

Python Call Graph

Note: This is a fork of the original pycallgraph since it became unmaintained.

Welcome! pycallgraph2 is a Python module that creates call graph visualizations for Python applications.

Project Status

The project lives on GitHub, where you can report issues, contribute to the project by forking the project then creating a pull request, or just browse the source code.

The fork needs documentation. Feel free to contribute :)

License: GNU GPLv2

Features

  • Support for Python 2.7+ and Python 3.3+.
  • Static visualizations of the call graph using various tools such as Graphviz and Gephi.
  • Execute pycallgraph from the command line or import it in your code.
  • Customisable colors. You can programatically set the colors based on number of calls, time taken, memory usage, etc.
  • Modules can be visually grouped together.
  • Easily extendable to create your own output formats.

Quick Start

OS dependencies:

  • Graphviz is open source software and can be installed on Ubuntu/Debian via apt install graphviz, or equivalent on other distributions. See here for more information.

Installation is easy as:

pip install pycallgraph2

The following examples specify graphviz as the outputter, so it's required to be installed. They will generate a file called pycallgraph.png.

The command-line method of running pycallgraph is::

$ pycallgraph graphviz -- ./mypythonscript.py

A simple use of the API is::

from pycallgraph2 import PyCallGraph
from pycallgraph2.output import GraphvizOutput

with PyCallGraph(output=GraphvizOutput()):
    code_to_profile()

Documentation

Documentation for the fork is a work in progress.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for pycallgraph2, version 1.1.3
Filename, size File type Python version Upload date Hashes
Filename, size pycallgraph2-1.1.3-py2.py3-none-any.whl (30.9 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size pycallgraph2-1.1.3.tar.gz (28.1 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page