waiting
Python Software Foundation
Free
Waiting is a compact library designed to facilitate the process of waiting for specific conditions to be met. It fundamentally pauses execution until a designated function returns True, offering various operational modes. Additionally, Waiting is designed to work seamlessly with flux for simulating timelines. The simplest way to utilize it is by providing a function to monitor. It’s straightforward to wait indefinitely; if your predicate yields a value, that value will be returned as the output of wait(). You can also set a timeout, and if this period lapses without the predicate being satisfied, an exception will occur. The library polls the predicate at a default interval of one second, which can be adjusted using the sleep_seconds parameter. When dealing with multiple predicates, Waiting offers two efficient methods for aggregation: any and all. These methods are similar to Python's built-in any() and all(), but they ensure that a predicate is not invoked more than necessary, which is particularly beneficial when working with predicates that are resource-intensive and time-consuming. By streamlining these functions, Waiting enhances both the efficiency and user experience of handling asynchronous operations.