James Powell is a Python programmer residing in New York City. He is the co-organiser of the NYC Python meetup (nycpython.com) and has spoken at PyData SV, PyData NYC, PyTexas, PyArkansas, PyGotham, and at the NYC Python meetup. He also authors a blog on Python topics at dontusethiscode.com
This talk discusses the fundamentals of how classes and metaclasses work in Python 2 and 3 from the perspective of the CPython interpreter. It covers the way these constructs can be used to model problems. e.g., metaclasses and build_class are the only mechanisms in Python that can be used to enforce constraints from a base class to a derived class.