sfood

Python dependency grapher

Install

All systems
curl cmd.cat/sfood.sh
Debian Debian
apt-get install snakefood
Ubuntu
apt-get install snakefood
Arch Arch Linux
pacman -S python2-snakefood
image/svg+xml Kali Linux
apt-get install snakefood
Windows (WSL2)
sudo apt-get update sudo apt-get install snakefood
Raspbian
apt-get install snakefood

snakefood

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. 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

python2-snakefood

Dependency Graphing for Python