95

/ 100

GradeA

A top-tier open source project. Docs, tests, and CI are all in excellent shape.

Top 6% of 5,156 graded repos

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

Python46,032Apache-2.028d ago

Outstanding. A score of 95/100 puts this repo in a very small tier of truly well-engineered projects.

Top fixes

Highest-impact changes first, ranked by point weight

9 to address
  1. 1
    Tests18pt

    Wire your tests to a documented command (e.g. a test script in your build config) so the suite is reproducible.

  2. 2
    CI/CD14pt

    Add a lint step to catch style issues automatically.

  3. 3
    CI/CD14pt

    Upload coverage to Codecov, Coveralls, or report it with `--coverage` flags.

  4. 4
    Contributing guide5pt

    Add setup instructions, code style notes, and how to run tests.

Working through the fixes? Let every push regrade itself.

The free GitHub App rescans this repo on every push and posts the grade as a commit check, so the score climbs without coming back to rescan by hand.

Install the GitHub App

Scorecard

Every check, grouped by category and sorted worst-first

Documentation

93

Contributing guide5pt52

CONTRIBUTING guide is very brief (−12 pts for depth). 150+ words earns +6 pts; 400+ earns +12 pts.

Add setup instructions, code style notes, and how to run tests.

README12pt100

README is present.

Install and run instructions9pt100

README documents how to install the project.

License6pt100

Licensed under Apache-2.0.

Engineering

94

CI/CD14pt85

CI is configured (.github/workflows/check-newsfragment-pr-number.yml).

Tests18pt95

Test files detected (airflow-core/src/airflow/api_fastapi/auth/managers/simple/ui/src/login/Login.test.tsx).

Linting and formatting5pt100

Linter or formatter configured (.editorconfig).

Reproducibility6pt100

Lockfile present (uv.lock). Installs are reproducible.

Issue and PR templates6pt100

Issue or PR templates present.

Project health

100

Dependency manifest6pt100

Dependency manifest found (pyproject.toml).

Repository metadata5pt100

Repository has a description.

Activity5pt100

Actively maintained (pushed within the last month).

Housekeeping3pt100

.gitignore present.

Repository health signals

Activity, community, and responsiveness at scan time

Activity

  • 511 / 2218
    Commits (30d / 90d)
  • 17,348
    Forks
  • 123
    Releaseslatest 7y ago

Community

  • 87% - Good
    Community health
  • 14 bus factor
    authors own >50% of commits
  • 46,032
    Watchers

Responsiveness

  • 2h
    Median issue response
  • <1h
    Median PR merge time
  • 1,651
    Open issues
Repository files77 root entries
  • .agents
  • .apache-magpie-overrides
  • .claude
  • .devcontainer
  • .github
    Good: CI is configured (.github/workflows/check-newsfragment-pr-number.yml).
    Good: Dependabot covers 13 ecosystems (github-actions, github-actions, pip, npm, npm, npm, npm, npm, npm, pip, npm, npm, uv). Dependencies stay current.
    Good: Issue or PR templates present.
    Good: Security policy present.
  • airflow-core
    Good: Test files detected (airflow-core/src/airflow/api_fastapi/auth/managers/simple/ui/src/login/Login.test.tsx).
  • airflow-ctl
  • airflow-ctl-tests
  • airflow-e2e-tests
  • chart
  • clients
  • constraints
  • contributing-docs
  • dev
  • devel-common
  • docker-context-files
  • docker-stack-docs
  • docker-tests
  • docs
  • empty
  • generated
  • go-sdk
  • java-sdk
  • kubernetes-tests
  • manifests
  • performance
  • providers
  • providers-summary-docs
  • registry
  • scripts
  • shared
  • task-sdk
  • task-sdk-integration-tests
  • ts-sdk
  • .apache-magpie.lock
  • .asf.yaml
  • .bash_completion
  • .cherry_picker.toml
  • .codespellignorelines
  • .dockerignore
  • .editorconfig
    Good: Linter or formatter configured (.editorconfig).
  • .git-blame-ignore-revs
  • .gitattributes
  • .gitignore
    Good: .gitignore present.
  • .gitpod.yml
  • .hadolint.yaml
  • .mailmap
  • .markdownlint.yml
  • .pre-commit-config.yaml
  • .rat-excludes
  • .readthedocs.yml
  • AGENTS.md
  • BREEZE.rst
  • CLAUDE.md
  • CODE_OF_CONDUCT.md
    Good: Code of conduct present.
  • codecov.yml
  • COMMITTERS.rst
  • COMMUNITY_ESCALATION.md
  • CONTRIBUTING.rst
    Issue: CONTRIBUTING guide is very brief (−12 pts for depth). 150+ words earns +6 pts; 400+ earns +12 pts.Fix: Add setup instructions, code style notes, and how to run tests.
    Issue: Contributing guide lacks a setup section (−12 pts).Fix: Show new contributors how to get a local dev environment running.
    Issue: Contributing guide lacks a code style section (−8 pts).Fix: Describe your linting/formatting rules and how to run them.
    Issue: Contributing guide lacks a testing section (−8 pts).Fix: Show contributors how to run the test suite (e.g. npm test, pytest, cargo test).
    Issue: Contributing guide lacks a PR workflow section (−8 pts).Fix: Explain how to fork, branch, and open a pull request so contributors know what to expect.
    Issue: Contributing guide has no code examples (−5 pts).Fix: Add code blocks showing example commands for setup, running tests, and submitting a PR.
  • doap_airflow.rdf
  • Dockerfile
    Good: Environment pinned via Dockerfile.
  • Dockerfile.ci
  • GOVERNANCE.md
  • INSTALL
  • INSTALLING.md
  • INTHEWILD.md
  • ISSUE_TRIAGE_PROCESS.rst
  • LICENSE
    Good: Licensed under Apache-2.0.
  • NOTICE
  • prod_image_installed_providers.txt
  • PROVIDERS.rst
  • pyproject.toml
    Good: Dependency manifest found (pyproject.toml).
  • README.md
    Good: README is present.
    Good: README is well structured with multiple sections.
    Good: README includes screenshots or visuals. Great for first impressions.
    Good: README has code examples.
    Good: README links to a live demo or deployed app.
    Good: README includes status badges.
    Good: README documents how to install the project.
    Good: README documents how to run the project.
  • RELEASE_NOTES.rst
  • reproducible_build.yaml
  • uv.lock
    Good: Lockfile present (uv.lock). Installs are reproducible.
  • yamllint-config.yml
RepoGrade badge preview

Add this badge to your README

It updates automatically each time the repo is re-graded.

[![RepoGrade](https://www.repo-grade.com/api/badge/apache/airflow)](https://www.repo-grade.com/report/apache/airflow)

More graded Python repos