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.3.tar.gz (77.1 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.3-py3-none-any.whl (76.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: airflow_dag_gantt-0.2.3.tar.gz
  • Upload date:
  • Size: 77.1 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.3.tar.gz
Algorithm Hash digest
SHA256 1a304894f66b10015838ad762b8871956abac5bd92cedf94e9a07cf747e68e5c
MD5 a735ee86fafcebc01c250e538d4e75f5
BLAKE2b-256 0daa4658d4795e656c638ba2cae767dc37ae74c0521c90aa1f528a04cbd28cde

See more details on using hashes here.

File details

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

File metadata

  • Download URL: airflow_dag_gantt-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 76.5 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 f1b57edfb425e2a43de2655cdf3c6dc8731b56d439929890a1a3a78819b1cb08
MD5 c9665946a84061b3de921a1aa1818e4a
BLAKE2b-256 e397f3d5071d09ae99488b954edbc6fdf22551e963827e1707e01c01975f6fcd

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