Several libraries with long running operation are lacking basic helper functions for polling
Considering that implementing exponential backoff properly is a 15 line affair which clutters up code it might be good to have a util function that properly implements exponential backoff and then allow things to call it, like in bigquery.job.Jobs
def wait(self):
utils.exponential_backoff(self.begin, self.reload, self.status)