A complete path from your first print() to decorators, asyncio and
production tooling — with runnable examples, tested challenges and guides for
setting up Python on your own machine.
from collections import Counter
def top_word(text: str) -> str:
words = Counter(text.lower().split())
return words.most_common(1)[0][0]
story = "to be or not to be that is the question"
print(f"most common word: {top_word(story)!r}")
scores = {"Ada": 97, "Linus": 88, "Guido": 99}
honours = {n: "distinction" for n, s in scores.items() if s >= 90}
print(honours)
No prior experience needed. Every step has a dedicated guide with the exact commands to run.
Install Python on Windows, macOS or Linux in about 10 minutes — installer, CLI commands, PATH fixes and your first project.
Open the setup guide38 lessons in 11 tracks — syntax, data structures, OOP, decorators, asyncio, typing, testing — each with runnable examples.
Start lesson oneSolve 20 challenges against hidden tests, then put this whole site online yourself with a single Vercel command.
Read the deploy guideEvery track builds on the last. Mark lessons complete and your progress is saved in the browser.
Syntax, types, input/output — the absolute basics
Branching, looping, match statements, flow control
Lists, tuples, dicts, sets and comprehensions
Arguments, closures, modules and imports
File I/O, JSON, context managers, exceptions
Classes, inheritance, properties, dunder methods
Decorators, generators, iterators, lambdas
Threading, multiprocessing and asyncio
Typing, design patterns, testing, metaclasses
APIs, databases, automation, data analysis, web
pip, venv, packaging and project structure
Everything here is functional: code really runs, tests really verify, progress really saves.
The playground and every challenge run on CPython 3.12 compiled to WebAssembly — the same language, no server, no install.
Each of the 36 module guides shows concrete applications — parsing JSON logs, hashing passwords, calling APIs, reading CSVs.
Write your solution, press Run, and your code is executed against real assertions. Passing means passing.
Solutions stay hidden until you press the button. Try first, read the hint second, study the reference answer last.
Completed lessons and solved challenges are stored locally in your browser — no account, no tracking, no server.
A responsive layout tuned from 320 px phones to ultrawide monitors, with keyboard shortcuts for power users.
36 guides with runnable examples — from math to asyncio.
20 interview-style challenges, verified by a live Python runtime.
python --version (Windows) or python3 --version (macOS/Linux). All lessons follow
modern, idiomatic Python.vercel --prod) and the GitHub
dashboard route, plus custom domains and troubleshooting.