apache/airflow

Apache Airflow - A platform to programmatically author, schedule, and monitor workflows

View on GitHub ↗Jump to charts ↓Open shareable report →

Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 2 hours ago
Added to GitGenius on December 18th, 2023
Created on April 13th, 2015
Open Issues & Pull Requests: 1,823 (+3)
GitHub issues: Enabled
Number of forks: 17,979
Total Stargazers: 47,109 (+4)
Total Subscribers: 797 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 7.8 hours
Mean response time: 68.1 days
90th percentile: 106.0 days
Tracked items: 6,759

How this project is maintained

About 5% of issues opened in the past year have never received a reply. 78% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. 37% of tracked open issues have had no activity in three months. 78% of issues opened in the past year have been closed, leaving a working backlog.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 1,001
New in 7 days: 49
Closed in 7 days: 100
Avg open age: 387 days
Stale 30+ days: 795
Stale 90+ days: 585

Recent activity

Opened in 7 days: 44
Closed in 7 days: 46
Comments in 7 days: 40
Events in 7 days: 108

Top labels

  • kind:bug (7,462)
  • area:core (4,247)
  • kind:feature (3,091)
  • needs-triage (2,391)
  • good first issue (2,217)
  • area:providers (1,976)
  • area:UI (1,565)
  • kind:meta (1,024)

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

Apache Airflow is a Python-based platform for programmatically authoring, scheduling, and monitoring workflows. The project enables users to define workflows as directed acyclic graphs (DAGs) in code, making them maintainable, versionable, testable, and collaborative. The Airflow scheduler executes tasks on worker arrays while respecting specified dependencies, and the platform provides command-line utilities and a rich user interface for visualizing pipelines, monitoring progress, and troubleshooting issues in production environments.

The platform is designed for workflows that are mostly static and slowly changing, where the DAG structure remains similar from one run to the next. Airflow emphasizes that tasks should ideally be idempotent and should not pass large quantities of data between tasks, though metadata can be exchanged using the XCom feature. For high-volume, data-intensive operations, the platform recommends delegating to external services. While Airflow is not a streaming solution, it is frequently used to process real-time data by pulling from streams in batches.

Three core principles guide Airflow's design: Dynamic pipelines are defined in code, enabling dynamic DAG generation and parameterization. The framework is extensible with a wide range of built-in operators and can be extended to fit specific needs. Flexibility is achieved through Jinja templating engine integration, allowing rich customizations.

The platform supports Python versions 3.10 through 3.14 on the main development version and stable 3.2.0 release, with the deprecated 2.11.2 version supporting 3.10 through 3.12. Both AMD64 and ARM64 platforms are supported. Kubernetes compatibility spans versions 1.30 through 1.35 for current releases. Database support includes PostgreSQL 14-18, MySQL 8.0 and 8.4, and SQLite 3.15.0 and later, though SQLite is recommended only for development and testing, not production use.

Airflow is commonly used for data processing tasks in data engineering, data integration, ETL and ELT workflows, machine learning operations, and general workflow orchestration. The platform is distributed via PyPI, Docker, and Artifact HUB, with significant community adoption evidenced by contributor counts and commit activity metrics. The project operates under the Apache License 2.0 and maintains semantic versioning with defined version life cycles and support policies for Python and Kubernetes versions.