swh.osv.utils module#

swh.osv.utils.format_number(n: int | float) str[source]#
async swh.osv.utils.iter_queue(queue: Queue[T]) AsyncIterator[T][source]#

Turns an async queue into an async iterator

async swh.osv.utils.concurrent_async_map(f: Callable[[T], Awaitable[U]], it: Iterable[T] | AsyncIterable[T], max_concurrency: int = 50, buffer: int = 1000) AsyncIterator[U][source]#

applies f to each item in it, with up to max_concurrency calls to f running at the same time.

class swh.osv.utils.Cache(path: Path, initial_value: D, serializer: Callable[[D], str], deserializer: Callable[[str], D])[source]#

Bases: Generic[D]

async load() None[source]#
async save() None[source]#