Daggie The Airflow DAG Quality Auditor
A friendly (and sometimes strict!) animated DAG auditor for Apache Airflow 3.1+
Features π 1. Daggie-Score API (FastAPI Plugin)A FastAPI application embedded inside Airflow.It exposes the endpoint:GET /api/daggie-score/score?dag_id=<your_dag_id> Returns:Overall DAG score (0--100...

About this project
Features
π 1. Daggie-Score API (FastAPI Plugin)
A FastAPI application embedded inside Airflow.
It exposes the endpoint:
Returns:
Overall DAG score (0--100)
Points earned vs max possible
Detailed checks with:
name
weight
passed / failed
reason
This works by scanning the DAG loaded in Airflow's DagBag.
π§ 2. Scoring Rules (Built-in)
Daggie evaluates:
Owner configured\
default_args defined\
retries & retry_delay\
schedule / timetable\
catchup behavior\
tags present\
DAG documentation\
max_active_runs sanity\
number of tasks\
snake_case task IDs\
placeholder check: no import-time side effects
All rules have weights and descriptive explanations.
π§© 3. Custom Scoring Plugins (Extensible)
You can add your own checks by adding Python callables:
Example:
from daggie_score import register_check @register_check def check_bigquery_usage(dag): if "bigquery" in dag.tags: return { "name": "BigQuery DAG Standards", "weight": 8, "passed": False, "reason": "Needs special review." }Custom checks are merged into the official scoring pipeline.
π¨ 4. React UI Plugin (Built for Airflow UI)
The React frontend appears in:
/dags/<dag_id>/plugin/simple-react-appIt shows:
Score summary\
Weighted check breakdown\
Clean Material-UI styled presentation\
Animated Daggie character whose mood changes:
π Happy (score > 80)
π Neutral (score 50--80)
π’ Sad (score < 50)
Daggie Animation
Built entirely using CSS + React.
No Lottie/Javascript animations required.
Runs smoothly inside Airflow without external assets.
You must be logged in to comment
Sign in to commentComments
No comments yet
Be the first to share your thoughts!