r/madeinpython • u/Antonyhamez • 3d ago
Python + SQLite teaching lab: replay synthetic payments, reconcile payouts, and repair broken pipelines
I maintain a Python teaching lab inside a free fintech data-engineering roadmap. The demo ingests synthetic payment events into SQLite, replays the same batch, checks balanced entries, compares payouts with settlement data, and produces a JSON report.
From the cloned repository root, with Python 3.12+ installed:
python -m fintech_lab --out work/reddit-demo
On a fresh output directory, the first batch accepts six events; replay adds no new events and identifies six duplicates. The report also shows a payout discrepancy and how a late-arriving event changes a point-in-time feature. The directory contains warehouse.db and report.json, so learners can inspect the underlying rows.
The accompanying local grader has 40 foundation exercises and 8 scenario labs with starters, hints, and reference solutions. One scenario has learners restore a real SQLite backup and test replay and checkpoint behavior after a simulated failure. Another asks them to fix SQL join fan-out rather than just read about it.
https://github.com/antony502189-max/fintech-data-engineering-roadmap
The core practice uses Python and SQLite without a paid cloud account. Everything is in English and MIT-licensed. These are synthetic teaching examples, not a production financial system.
Disclosure: the first edition and this introduction were prepared with AI assistance using Codex. Provenance is documented in the repository. Feedback on the demo output and failure messages would help improve the learning experience.