/airflow-diagrams

Auto-generated Diagrams from Airflow DAGs. 🔮 🪄

Primary LanguagePythonApache License 2.0Apache-2.0

airflow-diagrams

pre-commit.ci status test workflow codeql-analysis workflow codecov PyPI version License PyPI - Python Version PyPI version

Auto-generated Diagrams from Airflow DAGs. 🔮 🪄

This project aims to easily visualise your Airflow DAGs on service level from providers like AWS, GCP, Azure, etc. via diagrams.

demo

Before After
dag diagram

🚀 Get started

To install it from PyPI run:

pip install airflow-diagrams

NOTE: Make sure you have Graphviz installed.

Then just call it like this:

usage

Examples of generated diagrams can be found in the examples directory.

🤔 How it Works

  1. ℹ️ It connects, by using the official Apache Airflow Python Client, to your Airflow installation to retrieve all DAGs (in case you don't specify any dag_id) and all Tasks for the DAG(s).
  2. 🪄 It processes every DAG and its Tasks and 🔮 tries to find a diagram node for every DAGs task, by using Fuzzy String Matching, that matches the most. If you are unhappy about the match you can also provide a mapping.yml file to statically map from Airflow task to diagram node.
  3. 🎨 It renders the results into a python file which can then be executed to retrieve the rendered diagram. 🎉

❤️ Contributing

Contributions are very welcome. Please go ahead and raise an issue if you have one or open a PR. Thank you.