Skip to main content

Command line interface for analyzing Python imports.

Project description Python versions
  • Free software: BSD license

Impulse is a command line tool for exploring the imports in a Python package.

It can be used to produce dependency graphs such as this:

Graph of flask package.


Install Graphviz

First, you will need to install Graphviz. For more information, see the Graphviz download page or search for “how to install Graphviz” on your operating system.

Install Impulse

pip install impulse

Install the Python package you wish to analyse

pip install somepackage

Command overview

There is currently only one command, feel free to suggest more by opening an issue or pull request.


Draw a graph of the dependencies within any installed Python package or subpackage.

The graph shows the relationship between all the immediate children of the package. An arrow indicates that there is at least one import by the child (or any of its descendants) from the subpackage where the arrow points.

For example, in a graph of the package django.db, there is an arrow from django.db.backends pointing to django.db.models. This is because django.db.backends.base.schema imports django.db.models.Index. All descendants are treated as belonging to the child they are in, so an import between any of those descendants will cause an import to be shown.


impulse drawgraph django.db


Graph of django.db package.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

impulse-1.0.tar.gz (4.5 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page