python-mastery
Advanced Python Mastery (course by @dabeaz)
A free, self-paced advanced Python course by David Beazley with slides, exercises, and solutions that teaches intermediate developers how Python works under the hood in 30 to 50 hours.
Advanced Python Mastery is a free, self paced programming course written by David Beazley, a well known Python author and teacher. It is not a software tool. The repository holds the full set of course materials: presentation slides, exercises, worked solutions, and sample data files. Beazley taught this same course several hundred times to companies over more than a decade before releasing it publicly under a Creative Commons license. The README points out, with some pride, that the course is free of ads, tracking, pop-ups, newsletters, and AI.
This is not a beginners' course. It assumes you already know some Python and want to go deeper. The stated goal is to help programmers move beyond writing short scripts toward building more sophisticated programs, by understanding how the Python language itself actually works under the hood. That deeper mental model is meant to help readers recognize the techniques used inside popular libraries and apply them to their own projects. People completely new to Python are pointed instead to a separate introductory course called Practical Python Programming.
To take the course, you copy the repository to your own computer and work locally with a normal Python setup: an installed version of Python and a code editor. A PDF file of the slides is the recommended starting point, and it marks the exercises and suggested timings. The exercises build on one another, and full solutions are provided in case you get stuck. The README estimates that finishing the material takes roughly 30 to 50 hours, reflecting its original format as an intense four to five day in person class.
A long question and answer section sets expectations. There are no videos, the slides are only offered as PDF, and discussion happens through GitHub. Beazley notes that the course focuses on the core language rather than third party libraries, and that newer topics such as typing, async, and pattern matching are left out because each deserves separate, dedicated treatment. He welcomes bug reports but is not looking to expand the content, and says the best way to support the course is simply to tell other people about it.
Where it fits
- Work through structured exercises to deeply understand Python internals like the data model, generators, and descriptors.
- Follow a 30-50 hour self-study path to go from writing scripts to building sophisticated, well-structured Python programs.
- Study the provided solutions to see how a professional Python trainer approaches complex programming problems.