{"categories":[{"label":"Utilities","url":"https://skillfed.io/packages/category/utilities/5"}],"enrichment":{"capability":"Waiting is a lightweight library for polling a predicate function until it returns True, with support for timeouts, custom sleep intervals, exponential backoff, and aggregation of multiple predicates.","skillfed_tags":["polling","testing-utility","retry-logic"],"use_cases":["Test fixtures that wait for a service to become ready before running test cases.","Integration code that polls an API or resource until a desired state is reached, with exponential backoff to reduce load.","Operational scripts that wait for multiple conditions to be satisfied before proceeding (using ANY or ALL aggregators).","Retry logic that waits for transient failures to resolve, ignoring expected exceptions during polling.","Monitoring or health-check loops that periodically verify a condition and log progress via on_poll callbacks."],"what_it_does":"Waiting is a small polling utility that repeatedly calls a predicate function until it returns True, handling timeouts and sleep intervals. It's designed for scenarios where you need to wait for a condition to be satisfied\u2014such as a resource becoming available, a service becoming ready, or a background task completing\u2014without blocking or busy-waiting.\n\nThe library supports flexible polling strategies: fixed sleep intervals, exponential backoff with configurable growth rates, and aggregation of multiple predicates using ANY and ALL constructs. It can suppress specific exceptions during polling, invoke a callback after each poll cycle, and provide descriptive timeout messages. With no runtime dependencies and pure-Python implementation, it integrates easily into test suites, integration code, and operational scripts.","worth_installing":"Yes. Waiting is a stable, lightweight utility with no dependencies, permissive licensing, and a clear use case in testing and operational code. The dormant maintenance status is not a concern for a mature, focused library with no known vulnerabilities. Install it if you need straightforward predicate polling with timeout and backoff support."},"id":"waiting","links":{"html":"https://skillfed.io/packages/waiting","md":"https://skillfed.io/packages/waiting.md","pypi":"https://pypi.org/project/waiting/"},"maintenance":{"status":"dormant"},"meta":{"latest_release":"2024-08-28","license_spdx":null,"license_treatment":"permissive","name":"waiting","python_support":"supports_current","summary":"Utility for waiting for stuff to happen"},"popularity":{"monthly_downloads":612683,"position":5755,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"1.5.0"}
