# Miscellaneous web utilities Stuff I frequently use in various unrelated projects that deal with web requests. ## Functions ### gather_in_batches Makes it more convenient to run awaitable objects in concurrent batches. ### log_failed_attempt Prototypical `callback` argument for the `attempt` decorator. ## Decorators ### @in_async_session Handles starting and closing of a temporary `aiohttp.ClientSession` instance around any async function that makes use of such an object to perform requests. ### @attempt Allows defining for an async function to be called repeatedly if it throws a specific kind of exception. ## Building Clone this repo, install `build` via pip, then run `python -m build` from the repository's root directory. This should produce a `dist/` subdirectory with a wheel (build) and archive (source) distribution. The resulting `whl`-file can be installed in the environment of choice via `pip install /dist/***.whl`.