Python gives developers direct control over every stage of the OOP process. Metaclasses are the framework used in creating classes themselves and descriptors are what goes on behind the scene when you call a function or set an attribute. These programming tools are often considered to be among the black magic tools of expert python developers. However, they are not as scary as they look. In this talk, I will explain how metaclasses work and present some practical examples, including a minimally invasive way to add full usage/error logging to your entire application. When you leave my talk, you will have a newfound understanding of the power that metaclass programming and descriptor manipulation can give you.
Slides available here: http://il.pycon.org/2016/static/sessions/sim-zacks.pdf