Use shutil.copyfileobj to conserve memory when downloading properties