Modern Software Development Techniques with Python