Stack: Apache Airflow 3 · PostgreSQL 17 · Docker Compose · Python · GitHub Codespaces

Starter code for an ETL pipeline that’s as easy to understand as Airflow gets. Clone it, run one setup command (or open it in GitHub Codespaces), and push the included sample data files through the pipeline from local storage.

The repo is also the base for a tutorial series. Each tutorial starts with a real failure someone described on LinkedIn, reproduces it on this stack, and then fixes it.

  • Tutorial 01: idempotent loads. A pipeline retries after a failure and duplicates half the table. The tutorial reproduces it and fixes it two ways: a primary key with ON CONFLICT, and a staging table with MERGE. (Write-up)

Links: Repository · Tutorial 01

Updated: