dabeaz-course /python-mastery

Advanced Python Mastery (course by @dabeaz)

★ 13,355⑂ 2,312👁 97⑃ 53● 39▤ 2
PythonCreated 2023-07-17
13,355
stars
+0+0+3
2,312
forks
97
watchers
53
prs
39
issues
2
releases
–
discussions

README

Advanced Python Mastery

A course by David Beazley (https://www.dabeaz.com)  
Copyright (C) 2007-2026  

 IMPORTANT NOTE (Oct. 22, 2026)

It seems that recent versions of Python have broken some of the
material in this course.  I'm not motivated to update it
so the course is being archived and retired.  Thanks for your
support over the years.  --Dave

 Synopsis

An exercise-driven course on Advanced Python Programming that was
battle-tested several hundred times on the corporate-training circuit
for more than a decade.  Written by David Beazley, author of the
Python Cookbook, 3rd Edition (O'Reilly) and 
Python Distilled
(Addison-Wesley).  Released under a Creative Commons license.  Free of
ads, tracking, pop-ups, newsletters, and AI.

Everything in this course should work with the latest version of
Python, but be aware that the course primarily targets the feature set
of Python 3.6.  As such, certain modern features don't get coverage. 
Honestly, this shouldn't affect you much unless you're trying to write code
that's freakishly clever.

 Target Audience 

This course is for Python programmers who want to move beyond 
short scripts to writing more sophisticated programs.    To do that,
it helps to better understand the programming techniques used
in popular libraries and frameworks. Thus, this course is mainly 
for programmers who want to build a more complete mental model of the
Python language itself and how it works.  Ultimately, the goal
is to be able to apply this knowledge to your own projects.

 Prerequisites

You already know some Python.  This is not a course for beginners.
For more introductory material, you might consider the
Practical Python Programming course.

 How to Take the Course

To take the course, you should first fork/clone the GitHub repo to your own
machine.

It is assumed that you are working locally in a proper Python
development environment.  That means a proper installation of Python,
an editor/IDE, and whatever other tools that you would normally
install to work on Python.  Due to the use of multiple files and
module imports, the use of Notebooks is not recommended.

The PythonMastery.pdf file contains detailed
presentation slides. Course exercises and suggested timings are
clearly indicated. You'll want to keep this by your side (I recommend
downloading and viewing it with a local PDF viewer). Start here! 

The Exercises/ directory has all of the
course exercises. 

The Solutions/ directory has fully worked out solution code.

The Data/ directory has some datafiles used during the course.

The course was originally taught over 4-5 days in an in-person
classroom setting with a mix of lecture and hands-on exercises.
Successful completion of the course will likely require 30-50 hours of
work.  Exercises tend to build upon each other.  Solutions are always
provided in case you get stuck.

 Supplemental Material

The Advanced Python Mastery course often suggested more in-depth tutorials
on selected topics.  These were pre

Snapshot: 2026-11-04T14:00:00Z · Data license Apache-2.0 · JSON