Fluent Python, 2nd Edition: Clear, Concise, and Effective Programming