Easy and expressive busy-waiting for Python
Although you wouldn't want to do much busy waiting in your production code, testing is a different matter. When testing asynchronous systems, it's very helpful to wait for some scenario to finish its course. busypie helps you perform busy waiting easily and expressively.
Most typical usage will be in test, when we have a scenario that require us to wait for something to happen.
from busypie import wait, SECOND
def test_create_user():
create_user_from(USER_DETAILS)
wait().at_most(2, SECOND).until(lambda: is_user_exists(USER_DETAILS))
This project drew a lot of inspiration from Awaitility.