This document discusses different ways to extend Python with C and C++ code. It covers native extensions using the Python/C API, ctypes which provides an advanced foreign function interface, and CFFI which provides another foreign function interface. It provides examples of using each technique and discusses their pros and cons in terms of portability, difficulty of use, and how they interface with shared libraries.