Bug#510350: ITP: snakefood -- Python dependency grapher
Package: wnpp
Severity: wishlist
Owner: Sandro Tosi <morph@debian.org>
* Package name : snakefood
Version : 1.3.1
Upstream Author : Martin Blais <blais@furius.ca>
* URL : http://furius.ca/snakefood/
* License : GPL2+
Programming Lang: Python
Description : Python dependency grapher
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. Graphing dependencies always requires the user
to filter and cluster the filenames, so this is appropriate. You
can combine it with your favourite tools, grep, sed, etc.
Reply to: