Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/gak/pycallgraph

pycallgraph is a Python module that creates call graphs for Python programs.
https://github.com/gak/pycallgraph

Last synced: 3 months ago
JSON representation

pycallgraph is a Python module that creates call graphs for Python programs.

Awesome Lists containing this project

README

        

.. image:: http://unmaintained.tech/badge.svg
:target: http://unmaintained.tech/
:alt: No Maintenance Intended

Project Abandoned
#################

Many apologies. I've stopped maintaining this project due to personal time constraints.

https://github.com/Lewiscowles1986/py-call-graph is a currently maintained fork.

I'm happy to forward users to any new forks, or to discuss PyPI ownership.

Python Call Graph
#################

Welcome! Python Call Graph is a `Python `_ module that creates `call graph `_ visualizations for Python applications.

.. image:: https://img.shields.io/travis/gak/pycallgraph.svg
:target: https://travis-ci.org/gak/pycallgraph
.. image:: https://img.shields.io/coveralls/gak/pycallgraph/develop.svg
:target: https://coveralls.io/r/gak/pycallgraph?branch=develop
.. image:: https://img.shields.io/pypi/v/pycallgraph.svg
:target: https://crate.io/packages/pycallgraph/
.. image:: https://img.shields.io/pypi/dm/pycallgraph.svg
:target: https://crate.io/packages/pycallgraph

Screenshots
===========

Click on the images below to see a larger version and the source code that generated them.

.. image:: https://pycallgraph.readthedocs.io/en/develop/_images/basic_thumb.png
:target: https://pycallgraph.readthedocs.io/en/develop/examples/basic.html
.. image:: https://pycallgraph.readthedocs.io/en/develop/_images/regexp_grouped_thumb.png
:target: https://pycallgraph.readthedocs.io/en/develop/examples/regexp_grouped.html
.. image:: https://pycallgraph.readthedocs.io/en/develop/_images/regexp_ungrouped_thumb.png
:target: https://pycallgraph.readthedocs.io/en/develop/examples/regexp_ungrouped.html

Project Status
==============

The latest version is **1.0.1** which was released on 2013-09-17, and is a backwards incompatible from the previous release.

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 documentation needs some work stiil. Feel free to contribute :)

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
===========

Installation is easy as::

pip install pycallgraph

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.

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 pycallgraph import PyCallGraph
from pycallgraph.output import GraphvizOutput

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

Documentation
=============

Feel free to browse the `documentation of pycallgraph `_ for the `usage guide `_ and `API reference `_.