Learning Python Application Development : Take Python Beyond Scripting to Build Robust, Reusable, and Efficient Applications - Ninad Sathaye (2016)