bepatient

Tests PyPI - Python Version PyPI License: MIT Code style: black Ruff codecov CodeFactor

Be Patient

bepatient is a library aimed at facilitating work with asynchronous applications. It allows for the repeated execution of specific actions until the desired effect is achieved.

Features

Installation

To install bepatient, you can use pip:

pip install bepatient

bepatient supports Python 3.10+

Basic Usage

from requests import get

from bepatient import wait_for_value_in_request


response = wait_for_value_in_request(
    request=get("https://example.com/api"),
    comparer="contain",
    expected_value="string"
)
assert response.status_code == 200

If we need add more than one checker:

from requests import get

from bepatient import wait_for_values_in_request


list_of_checkers = [
    {
        "checker": "json_checker",
        "comparer": "contain",
        "expected_value": "string"
    },
    {
        "checker": "headers_checker",
        "comparer": "is_equal",
        "expected_value": "cloudflare",
        "dict_path": "Server",
    },
]
response = wait_for_values_in_request(
    request=get("https://example.com/api"),
    checkers=list_of_checkers,
    retries=5,
)
assert response.status_code == 200