--- /dev/null
+This script scans a Python file for function dependencies, and
+generates code for [Graphviz dot][graphviz]. See [[depgraph]] for
+scripts to generate dependency graphs *between* modules.
+
+Originally by [Prashantha Ellina][original], the [script][call_graph]
+is good for giving you the "short view" for restructuring a single
+module.
+
+As example, here is the callgraph of my cantilever calibration program
+[calibrate_cantilever.py][].
+
+ $ python construct_call_graph.py -i calibrate_cantilever.py | dot -T png -o call_graph.png
+
+[[!img call_graph.png class="scaled"
+ alt="calibrate_cantilever.py call graph"
+ title="calibrate_cantilever.py call graph"]]
+
+[graphviz]: http://www.graphviz.org
+[original]: http://blog.prashanthellina.com/2007/11/14/generating-call-graphs-for-understanding-and-refactoring-python-code/
+[calibrate_cantilever.py]: http://www.physics.drexel.edu/~wking/code/git/git.php?p=calibrate_cantilever.git
+[call_graph]: http://www.physics.drexel.edu/~wking/code/git/git.php?p=call_graph.git
+
+[[!tag tags/programming]]
+[[!tag togs/python]]
+[[!tag tags/tools]]
This set of scripts scans a Python file for module dependencies, and
-generates code for [Graphviz dot][graphviz].
+generates code for [Graphviz dot][graphviz]. See [[call_graph]] for a
+script that generates dependency graphs *within* a module.
-Originally by Toby Dickenson. Good for giving you the "long view" on
-how your project is organized. I've [altered][] the [originals][] a
-bit.
+Originally by Toby Dickenson, the scripts are good for giving you the
+"long view" on how your project is organized. I've [altered][] the
+[originals][] a bit.
My `py2depgraph` also prints out path information for each module, so
that you can show or hide module nodes based on those paths. For
[originals]: http://tarind.com/depgraph.html
[unfold.py]: http://www.physics.drexel.edu/~wking/code/git/git.php?p=unfold_protein.git
-[[!tag tags/tools]]
[[!tag tags/programming]]
+[[!tag togs/python]]
+[[!tag tags/tools]]