100 challenges that end with a URL other people can hit, background workers that retry safely, and traces when it breaks at 3 a.m.
You can write Python. What you cannot do yet is hand someone a URL. Your code lives in notebooks and one-off scripts, your dependencies are whatever pip installed last, and words like async, wheel, and worker are things other people's repos have. This course closes that gap in 100 challenges. You start with uv — the tool that replaced pip, virtualenv, and pyenv — plus a pyproject.toml manifest that pins every version, with ruff linting and mypy type checking as the gate. Then type hints and Pydantic validation, asyncio and the honest story on the GIL (Global Interpreter Lock), httpx and streaming I/O, pytest with Hypothesis property tests, and publishing a package to PyPI. The last four modules build the service: SQLAlchemy 2.0 async with Alembic migrations, FastAPI, Celery background workers, and a production layer of structlog JSON logs, OpenTelemetry traces, and a multi-stage Docker image. The capstone is docs.ai, a document ingestion and query service using retrieval-augmented generation, graded on query latency and citation accuracy.
Built by Lakshya Kumar
Paste this into any AI chat. Fill in the bracketed parts with your context — you'll get back a straight answer on whether this belongs on your plate.
We grant free access case-by-case — students, career-switchers, builders on a tight budget. Sign in to send us a note.
Sign in to applyFinished the tasks? Take the prompt to your AI and get tested on it. We copy the prompt and open the app — just paste it in.
Type hints, dataclasses, and Pydantic turn 3 a.m. KeyErrors into errors mypy catches while you are still writing the code.
Learn when coroutines beat threads, when they buy you nothing at all, and how to cancel work without leaking half-done tasks.
httpx, aiofiles, orjson, and subprocess — the calls that decide whether your job finishes in seconds or swaps itself to death.
Fixtures, parametrize, and Hypothesis property tests that generate the edge cases you would never have thought to write.
Go from a folder of scripts to a wheel on PyPI with a working console command, using src layout, hatch, and uv publish.
Model it, migrate it with Alembic, and size the connection pool so Postgres stops being the reason your p95 looks awful.
Dependency injection, lifespan, response models, auth, and streaming — the parts the tutorial skips and production demands.
Idempotent tasks, backoff, and dead-letter routing so a failed background job surfaces on a dashboard instead of vanishing.
gunicorn plus uvicorn workers, structlog, OpenTelemetry, and a slim image — the setup that lets you debug an outage fast.
Complete all modules, then submit the required number of capstone projects. Each must earn a passing rating from an admin reviewer.
Build `docs.ai`, a document ingestion + retrieval service in Python. Required: FastAPI for multipart upload (PDFs/Markdown), Celery worker that chunks (semantic chunking), embeds (OpenAI or local), and writes to pgvector. SQLAlchemy 2.0 async + Alembic for state. A `/query` endpoint that does vector search + reranking and returns answers with citations. structlog JSON logs, OTel traces, Dockerized via multi-stage `uv` build. Submit: repo URL, a Loom of upload-to-query flow on a 100-page PDF, and an eval showing query p95 < 500 ms and citation accuracy ≥ 90% on a labeled set you create.
I'm considering Capstok's "Python: From Zero to Production Service" course. It covers modern Python toolchain (uv, pyproject, ruff, mypy), types + Pydantic, async, FastAPI, SQLAlchemy 2.0 async, Celery workers, and a production stack with structlog + OTel + Docker. Capstone is a RAG ingestion service. Context: 1. My current Python level: [e.g. "scripts only", "ML/notebook", "Django dev", "never"] 2. The closest I've come to a Python backend service: [e.g. "Flask tutorial", "Django at work", "never"] 3. What I want at the end: [e.g. "ship a Python backend", "do RAG well", "interview-ready"] Answer: - Which 2 modules will pay back fastest in my next 3 months? - A real bug I'll ship in my first FastAPI service that this course catches. - Is 50 hours worth it for me, or should I learn TS instead? Honest pick. - What this course will NOT teach (Django, Pandas, ML training)?
The book to read after Module 3 — middle-experience Python.