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.2.tar.gz (74.4 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.2-py3-none-any.whl (73.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: airflow_dag_gantt-0.2.2.tar.gz
  • Upload date:
  • Size: 74.4 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.2.tar.gz
Algorithm Hash digest
SHA256 6900ea394d1a4ca9123b27bf2df7be5fd4d9563e81d4c79c3eb709560a1c4517
MD5 677f77df4cbc1a706cac42cfb1013440
BLAKE2b-256 7e1c512ccae3b21f7323dfef19de05d78144dba384da2688d538758833c5fe80

See more details on using hashes here.

File details

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

File metadata

  • Download URL: airflow_dag_gantt-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 73.7 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 90a1109a02fa3d4bbcf64b773e707d766e4285ca399175f93d2991b63b26d2aa
MD5 287a9e6d2c49f774c0537cb2aade278d
BLAKE2b-256 929a30e04cb2da96a5eb507849f448812b992ed10c16b6a74a177f88773bcc96

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