This module provides function decorators which can be used to wrap
a function such that it will be retried until some condition is
met. It is meant to be of use when accessing unreliable resources
with the potential for intermittent failures i.e. network resources
and external APIs. Somewhat more generally, it may also be of use
for dynamically polling resources for externally generated content.

Decorators support both regular functions for synchronous code and
asyncio 's coroutines for asynchronous code.
