Skip to main content

Ship Checklist & Where This Leaves You

beginner12 min readLesson 56 of 169

Every line true before you call it done — and the sentence it makes true about you.

Ship checklist

Before you call it done, every line below should be true:

  • [ ] add_expense rejects amount <= 0 and empty category — with messages.
  • [ ] Input lists are never mutated; the CLI state flows through return values.
  • [ ] expenses.json roundtrips; a corrupt file costs you nothing but a fresh start.
  • [ ] finance_summary includes total, count, per-category totals (rounded), top category (first-to-reach tie-break), remaining budget, and a warning key set when spending > 90% of budget.
  • [ ] Your own test suite passes; it includes at least one boundary case and one corrupt-file case.
  • [ ] README explains how to run it; venv + requirements.txt discipline shown.
  • [ ] Git history tells the story: small commits, messages that say why.

Where this leaves you

You can now take a written requirement, design a data model, implement it in layers that each have one job, persist it, test it, and ship it. That is the sentence "I can build small useful Python programs independently" — made true. Python Intermediate will assume all of it, and add: classes, iterators, comprehensions in depth, files beyond JSON, and real testing frameworks.