Expert Python programming: become a master in Python by learning coding best practices and advanced programming concepts in Python 3.7 - Jaworski, Michał; Ziadé, Tarek (Packt Publishing, 2019)