import time import requests from typing import Any, Mapping def wait_for_key( url: str, key: str, expected: Any, poll_interval: float = 0.5 ) -> bool: while True: try: response: requests.Response = requests.get(url=url) response_data: Any = response.json() if isinstance(response_data, Mapping) and response_data.get(key) == expected: return True except Exception: pass time.sleep(poll_interval)