Phase 7: Capstone · ~90 minutes · Python · uv · pytest
Build, Test, and Ship It
This is the first program in this course that started as your own written design, not a tutorial you followed. Build it the same way you'd build anything real: one tested piece at a time.
Hiring signal: Ships a working, tested, cleanly-styled program end to end, from a design they wrote themselves
What you will learn
- Implement a design incrementally, one function at a time, testing each before moving to the next
- Apply every major idea from this course in one real, self-directed program
- Ship a tested, linted, working program built from your own design
- Reflect honestly on where a design met reality and what changed
Introduction
Type: Project Languages: Python Prerequisites: Lesson 01 (Design Your Tool) Time: ~90 minutes
Objective
Learning objectives
- Implement a design incrementally, one function at a time, testing each before moving to the next
- Apply every major idea from this course in one real, self-directed program
- Ship a tested, linted, working program built from your own design
- Reflect honestly on where a design met reality and what changed
What you're building
Your capstone project, built from your own Lesson 07-01 design:
- Full implementation, matching (or honestly, deliberately deviating from, with a comment explaining why) your written design
- A real, passing
pytest suite covering every test named in your design's test plan, run for real with pytest -v, output included as a comment - A clean
ruff check . — zero remaining issues on your own files - The stretch challenge feature, plus your written reflection on whether it was harder or easier than expected
- A short
README.md (a few sentences: what the tool does, how to run it) — the first thing anyone looking at this project would read
A capstone's test suite passes completely, and ruff reports zero issues. Is the project necessarily done?
This is Phase 06's central lesson, applied to judging your own finished project rather than someone else's function. Tests only prove what they actually check — a clean pytest run means every behavior someone thought to test is verified, not that every possible behavior is correct. This isn't a reason to chase an impossible standard of testing literally everything; it's a reason for honest confidence: 'the specific things I tested for are verified correct' is a true, valuable, and different claim from 'this program has no bugs.'
Unlock the full lesson
You've read the first 2 sections. The rest of this lesson covers The Problem, Check Yourself, Key Terms & Next — plus a hands-on lab, quiz, and project artifact.
Create a free account to unlock Phase 0 and Phase 1 of every course — no credit card.
Browse all courses · View pricing · DeVenture Academy