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