Skip to content

Auto-generated Diagrams from Airflow DAGs. 🔮 🪄

License

Notifications You must be signed in to change notification settings

Jfeng3/airflow-diagrams

 
 

Repository files navigation

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. 🔮 🪄

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 98.2%
  • Jinja 1.8%