sfood-flatten
Python dependency grapher
Install
- All systems
-
curl cmd.cat/sfood-flatten.sh
- Debian
-
apt-get install snakefood
- Ubuntu
-
apt-get install snakefood
- Arch Linux
-
pacman -S python2-snakefood
- Kali Linux
-
apt-get install snakefood
- Windows (WSL2)
-
sudo apt-get update
sudo apt-get install snakefood
- Raspbian
-
apt-get install snakefood
- Dockerfile
- dockerfile.run/sfood-flatten
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