importlab
Importlab is a library for Python that automatically infers dependencies
and calculates a dependency graph. It can perform dependency ordering of
a set of files, including cycle detection.
Importlab's main use case is to work with static analysis tools that
process one file at a time, ensuring that a file's dependencies are
analysed before it is.
(This is not an official Google product.)
License
Apache 2.0
Installation
Importlab can be installed from pip
::
pip install importlab
To check out and install the latest source code
::
git clone https://github.com/google/importlab.git
cd importlab
python setup.py install
Usage
Importlab is primarily intended to be used as a library. It takes one or
more python files as arguments, and generates an import graph, typically
used to process files in dependency order.
It is currently integrated into
pytype <https://github.com/google/pytype>
__
Command-line tool
Importlab ships with a small command-line tool, also called
importlab
, which can display some information about a project's
import graph.
::
usage: importlab [-h] [--tree] [--unresolved] [filename [filename ...]]
positional arguments:
filename input file(s)
optional arguments:
-h, --help show this help message and exit
--tree Display import tree.
--unresolved Display unresolved dependencies.
Roadmap
-
Makefile
generation, to take advantage of make
's incremental
update and parallel execution features
-
Integration with other static analysis tools