snakefood

Python dependency grapher

Description

Generate dependency graphs from Python code. This dependency tracker package has a few distinguishing characteristics:

 * It uses the AST to parse the Python files. This is very reliable,
   it always runs.
 * No module is loaded. Loading modules to figure out dependencies is
   almost always problem, because a lot of codebases run
   initialization code in the global namespace, which often requires
   additional setup. Snakefood is guaranteed not to have this problem
   (it just runs, no matter what).
 * It works on a set of files, i.e. you do not have to specify a
   single script, you can select a directory (package or else) or a
   set of files. It finds all the Python files recursively
   automatically.
 * Automatic/no configuration: your PYTHONPATH is automatically
   adjusted to include the required package roots. It figures out the
   paths that are required from the files/directories given as
   input. You should not have to setup ANYTHING.
 * It does not have to automatically 'follow' dependencies between
   modules, i.e. by default it only considers the files and
   directories you specify on the command-line and their immediate
   dependencies. It also has an option to automatically include only
   the dependencies within the packages of the files you specify.
 * It follows the UNIX philosophy of small programs that do one thing
   well: it consists of a few simple programs whose outputs you
   combine via pipes.

This package will install the following programs:

 * sfood - detect import statements using the AST parser
 * sfood-checker - check for superfluous import statements in Python source
   code
 * sfood-cluster - read snakefood dependencies from stdin and cluster according
   to filenames
 * sfood-copy - read a snakefood dependencies file and flatten and output the
   list of all files
 * sfood-flatten - read a snakefood dependencies file and flatten and output
   the list of all files
 * sfood-graph - read snakefood dependencies and output a visual graph
 * sfood-imports - parse Python files and output a unified list of imported
   symbols

Upload more screenshots

Please help extend the collection of screenshots. Just make a screenshot and upload it here. You don't need to register or anything.

Upload a screenshot

Hint: upload an image here from your clipboard with Ctrl-V


Homepage

http://furius.ca/snakefood/


Install this software package

If the package is available for the distribution you are currently using on your computer then install the software by clicking on…

Install snakefood