Skip to content
← All Python tracks

Capstone Projects

Python

Five larger exercises that each combine several earlier tracks. Give each state of an upload its own type, check a package's import rules, build an immutable order model from untrusted data, extend the worker pool to keep going after failures, and fix five performance problems in an order pipeline.

This track uses Python. You can make it your practice mode to browse related content across the site.

5 exercises

1 article

Explore freely. Sign in to keep your progress.

Your learning sequence

  1. 1 Before You Start a Capstone Read
  2. 2 Not solved yet. Capstone: Give Each Upload State Its Own Type Practice · Hard
  3. 3 Not solved yet. Capstone: Check a Package's Layer and Import Rules Practice · Hard
  4. 4 Not solved yet. Capstone: Build an Immutable Order Model from Untrusted Data Practice · Hard
  5. 5 Not solved yet. Capstone: Extend the Worker Pool to Keep Going After Failures Practice · Hard
  6. 6 Not solved yet. Capstone: Fix Five Performance Problems in an Order Pipeline Practice · Hard

Check yourself

2 questions · not saved while you're signed out

Use these questions to check your understanding and compare explanations. Your score does not affect track completion.

0 / 2 correct

Why does the upload capstone use two classes, Draft and Sealed, instead of one class with an is_sealed flag?

Choose one answer to reveal the explanations. Answers are kept only while this page is open.

def checksum_of(sealed: Sealed) -> str:
    return sealed.digest

draft = begin("report")
checksum_of(draft)  # mypy: incompatible type "Draft"; expected "Sealed"
Question 1 of 2