• This repository has been archived on 09/Apr/2024
  • Stars
    star
    1,816
  • Rank 25,567 (Top 0.6 %)
  • Language
    Python
  • License
    GNU General Publi...
  • Created over 15 years ago
  • Updated 8 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

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

image

image

image

Screenshots

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

image

image

image

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.

More Repositories

1

pygooglechart

pygooglechart is a complete Python wrapper for the Google Chart API.
Python
195
star
2

gravit

A gravity simulator
C
66
star
3

elo-rating-simulator

A small Python program to simulate a competition using the ELO rating system.
Python
35
star
4

docker-bitcoin-regtest

A way to experiment with Bitcoin.
Makefile
35
star
5

timelapse-tools

A simple command line tool to create time lapse videos from individual images or other videos
23
star
6

automain

A simple Python module that automatically executes functions on load
Python
10
star
7

pyquake3

A Quake 3 rcon class written in Python to programatically send commands to Quake 3 servers
Python
6
star
8

heatmap

A Python heatmap module to generate heatmaps from location data
Python
6
star
9

nbody-mapreduce

Experimental N-body implementation using Hadoop MapReduce
Python
5
star
10

fmi

A small Python library to fetch location information from the "Find My iPhone" service on MobileMe.
Python
5
star
11

teslatte

A command line tool and Rust crate for querying the Tesla API
HTML
5
star
12

google-ai-challenge-ants

My entry to the Ants Google AI Challenge for gakman
Python
3
star
13

fmi-tracking

Python
3
star
14

spark-submit-app-id-wrapper

A wrapper around spark-submit to intercept and extract the appliation id from stderr.
Python
3
star
15

hashmoji

hashmoji is a crate that generates unique emojis based on the hash of a value.
Rust
3
star
16

capture

Python
3
star
17

iterm

Objective-C
3
star
18

rust-nano-rpc-client

Rust
3
star
19

munin

2
star
20

qubinode

Qubinode - Quick Bitcoin Node Deploy. Easily deploy a Bitcoin node on a Linux host.
Python
2
star
21

GAKCoreData

Helper functions for CoreData to make life easier.
Objective-C
2
star
22

phpquake3

A Quake 3 rcon class written in PHP to programatically send commands to Quake 3 servers
PHP
2
star
23

zoomatrix

JavaScript
2
star
24

pysty

A command line based RESTful client.
Python
2
star
25

giant-multiplayer-robot-helper

A simple command line interface for http://multiplayerrobot.com/
Python
2
star
26

image-average

Python
2
star
27

clivm

A Command Line Volume Meter
1
star
28

cryptobill

Retrieves quotes and create transactions for multiple crypto bill services and cryptocurrencies.
Go
1
star
29

microphone-levels

Experimental volume monitoring code using PyAudio, PortAudio
Python
1
star
30

homeloan

Python
1
star
31

isping

Python
1
star
32

shell-prompt-editor

JavaScript
1
star
33

ubistone

A visulisation of the Keystone API using Ubigraph
Python
1
star
34

skynet

Python
1
star
35

fusestone

A FUSE filesystem for the Keystone API
Python
1
star
36

keystone-python

Python interface for Keystone API
Python
1
star
37

spinal

Rust
1
star
38

autoimp

Python
1
star
39

GAKUIColorWithHex

An Objective-C category to specify a color with hex color codes.
1
star
40

VintageousEx

Vi command mode for Sublime Text 3 (complements Vintageous)
Python
1
star
41

acssr

The code for the old Australian Counter Strike:Source Ranks website, for archaeology reasons.
PHP
1
star