Skip to main content

A command line tool to create a graph representing your Ansible playbook tasks and roles

Project description

# Ansible Playbook Grapher

[![PyPI version](](

[ansible-playbook-grapher]( is a command line tool to create a graph representing your Ansible playbook tasks and roles. The aim of
this project is to quickly have an overview of your playbook.

Inspired by [Ansible Inventory Grapher](

## Pérequis
* **Ansible** >= 2.4: The script has not been tested yet with an earlier version of Ansible.
$ sudo pip3 install 'ansible>=2.4'
* **graphviz**: The tool used to generate the graph in SVG.
$ sudo apt-get install graphviz

## Installation
$ sudo pip3 install ansible-playbook-grapher

## Usage

$ ansible-playbook-grapher examples/playbook.yml


$ ansible-playbook-grapher --include-role-tasks examples/example_with_roles.yml


Some options are available:

$ ansible-playbook-grapher --help
usage: ansible-playbook-grapher [-h] [-i INVENTORY] [--include-role-tasks]
[-s] [-o OUTPUT_FILE_NAME] [-v]

Simple grapher for an Ansible Playbook. You will need to install Ansible,
graphviz on your system (sudo apt-get install graphviz). Has been tested with
Ansible 2.4.

positional arguments:
playbook The playbook to grah.

optional arguments:
-h, --help show this help message and exit
-i INVENTORY, --inventory INVENTORY, --inventory-file INVENTORY
Ansible inventory. Useful if you want to have a
tooltip with hostnames on the play nodes.
--include-role-tasks Include the tasks of the role in the graph. Can
produce a huge graph if you have lot of roles.
-s, --save-dot-file Save the dot file used to generate the graph.
Output filename without the '.svg' extension. Default:
-t TAGS, --tags TAGS Only show tasks tagged with these values.
--skip-tags SKIP_TAGS
Only show tasks whose tags do not match these values.
-v, --version Print version and exit.


## Contribution
Contributions are welcome. Feel free to contribute by creating an issue or submitting a PR :smiley:

- Graphviz : properly rank the edge of the graph to represent the order of the execution of the tasks and roles
- Graphviz : find a way to avoid or reduce edges overlapping
- Ansible: Variables interpolation in node name (when possible)
- Add support for tags

Project details

Download files

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

Files for ansible-playbook-grapher, version 0.5.0
Filename, size File type Python version Upload date Hashes
Filename, size ansible_playbook_grapher-0.5.0-py2.py3-none-any.whl (12.1 kB) File type Wheel Python version py2.py3 Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page