Professional Python - Sneeringer, Luke (Wrox Programmer to Programmer, 2016)