Python essential reference - Beazley, David M. (Sams, 2007)