Jfeng3 / airflow-diagrams

Auto-generated Diagrams from Airflow DAGs. ๐Ÿ”ฎ ๐Ÿช„

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

About

Auto-generated Diagrams from Airflow DAGs. ๐Ÿ”ฎ ๐Ÿช„

License:Apache License 2.0


Languages

Language:Python 98.2%Language:Jinja 1.8%