Sefism is free for learners. We are here to help you grow, one step at a time.Join for free
Sefism.

Project structure · Data and DevOps

Apache Airflow project structure

Opens with credits

For data engineers scheduling real pipelines with Airflow 3. It starts from astro dev init (dags, include, plugins, tests and a Runtime Dockerfile that runs Airflow locally in Docker) and grows into dags grouped by business area, logic in a tested include package, asset-driven scheduling, data quality checks, alerts, CI that parses and tests every dag, and dag-only deploys. A self-hosted docker compose and Helm route is shown alongside.

Curated by Tauseef FayyazIntermediate139 files and foldersApache Airflow 3.3.2 (Task SDK 1.3), Astro Runtime 3.3-8, Astro CLI 1.46Checked October 2026
Explore the filesPick any file to see what it is, why it exists and when you add it.

How it grows

Each stage opens the explorer there

  1. 1Day 1What the scaffold and your first hour give you21 files and folders
  2. 2GrowingWhat a real app with features and tests adds+48 files and folders
  3. ProductionWhat running it for real users adds+35 files and foldersOpens with credits
  4. ExpertWhat a team needs to keep it healthy for years+35 files and foldersOpens with credits

How it is organised

  • Dag files orchestrate; include/ does the work. A dag says when and in what order; the code that calls APIs, runs SQL and transforms data is plain Python in include/ with its own tests.
  • No work at the top level of a dag file. The dag processor imports every file every few seconds, so a network call or heavy import there slows the whole deployment.
  • Every task is idempotent and reads its time window from the run's data interval. Retries and backfills then produce the same result, never duplicates.
  • Downstream dags are scheduled on assets, not on clock times, so they run when their input is actually ready.
  • Connections and variables hold every secret and endpoint. Locally they come from .env and airflow_settings.yaml; in production from a secrets backend. Nothing secret is in Git.
  • Use `airflow.sdk` imports (dag, task, Asset) in dag code. Tasks talk to Airflow through the Task SDK, not the metadata database directly.
  • Every dag has an owner, area tags, retries, a timeout and a failure notifier, and a test enforces it.
  • Group dags, SQL and tests by business area once there are more than a handful, so each team owns a folder.

At the top of the project

Open one in the explorer for the full story

Learn more on Sefism

Roadmaps, cheat sheets and projects that go with Apache Airflow.

See 8 more
Checked against 10 official sources, October 2026. If something has changed, the docs win.Show sources

Picked from the other libraries by shared topics.

Work with me

Stuck on something specific?

Writing only gets you so far. If you want an answer to your situation rather than the general case, book a session and we will work through it together. Sessions are free for approved Sefism members, and a few slots open each week.

  • 1:1 Mentorship
  • Fresh Graduate Mentorship
  • Career Guidance

Brand deals, promos and partnerships: tauseeffayyaz@gmail.com