Skip to main content

Airflow 3.x plugin that visualizes Dag execution times as a Gantt chart

Project description

airflow-dag-gantt

Airflow 3.x plugin that visualizes Dag execution times as a 24-hour Gantt chart.

Shows average/median start and end times for each Dag based on recent successful runs. Uses react_apps to render natively within the Airflow UI.

Gantt Chart

Tooltip

Requirements

  • Python >= 3.10
  • Apache Airflow >= 3.0.0

Installation

pip install airflow-dag-gantt

Or install from source:

pip install git+https://github.com/choo121600/airflow-dag-gantt.git

Configuration

No additional configuration required. The plugin uses the logged-in user's session to call Airflow's REST API (/api/v2/) directly from the browser.

After installation, restart the webserver:

sudo systemctl restart airflow-webserver

Features

  • 24h timeline Gantt chart with responsive width (ResizeObserver)
  • Mean/Median toggle for execution time statistics
  • Run count selector: 10, 25, 50, 100, or All
  • Prefix-based color grouping: Dag ID prefix별 자동 색상 구분
  • Tag-based filtering: tag 버튼 토글로 Dag 필터링 (12개 미리보기 + 확장)
  • Text search: Dag name 및 tag 통합 검색
  • Filter reset: 모든 필터 초기화 버튼
  • Hover tooltips: mean/median start/end, duration, run count, tags
  • Browser timezone: 시간축이 브라우저 로컬 시간대 기준으로 표시

UI Development

cd ui
pnpm install
pnpm dev          # Dev server at localhost:5173
pnpm build        # Build UMD bundle to dist/main.umd.cjs

After building, copy the bundle:

cp ui/dist/main.umd.cjs src/airflow_dag_gantt/dist/

Tech Stack

  • Frontend: React 19, TypeScript, ChakraUI v3, Vite (UMD build)
  • Backend: FastAPI (Airflow plugin, static file serving only)
  • Integration: Airflow 3.x react_apps plugin API

License

Apache License 2.0

Project details


Download files

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

Source Distribution

airflow_dag_gantt-0.2.1.tar.gz (88.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

airflow_dag_gantt-0.2.1-py3-none-any.whl (89.1 kB view details)

Uploaded Python 3

File details

Details for the file airflow_dag_gantt-0.2.1.tar.gz.

File metadata

  • Download URL: airflow_dag_gantt-0.2.1.tar.gz
  • Upload date:
  • Size: 88.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for airflow_dag_gantt-0.2.1.tar.gz
Algorithm Hash digest
SHA256 140798b1da8047535f76c527d8252bc092be02fa6ce83faada8934c513411d50
MD5 64181c6928f6bfe0f88f44660bba6701
BLAKE2b-256 703976fdc53b1cfb0775ed81e926420df5df2d24318353e7ab484618d9b4af4c

See more details on using hashes here.

File details

Details for the file airflow_dag_gantt-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: airflow_dag_gantt-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 89.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for airflow_dag_gantt-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d782dcb2ec7c1cbea8f99f4ad33383142122753722c3f5e1ed54dda175fc845a
MD5 5655afe26ba81893369bfee5693b58f4
BLAKE2b-256 5d074b34613b2026a6c92887b59ee807e75931329292e096a63e4bf659004b4f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page