Python for AI Engineers: Working With Large Data Without Running Out of Memory