Skip to content

semlib.extrema

min async

min[T](
    iterable: Iterable[T],
    /,
    *,
    by: str | None = None,
    to_str: Callable[[T], str] | None = None,
    template: str | Callable[[T, T], str] | None = None,
    task: Task | str | None = None,
    model: str | None = None,
    max_concurrency: int | None = None,
) -> T

Standalone version of min.

Source code in src/semlib/extrema.py
async def min[T](  # noqa: A001
    iterable: Iterable[T],
    /,
    *,
    by: str | None = None,
    to_str: Callable[[T], str] | None = None,
    template: str | Callable[[T, T], str] | None = None,
    task: Task | str | None = None,
    model: str | None = None,
    max_concurrency: int | None = None,
) -> T:
    """Standalone version of [min][semlib.extrema.Extrema.min]."""
    extrema = Extrema(model=model, max_concurrency=max_concurrency)
    return await extrema.min(iterable, by=by, to_str=to_str, template=template, task=task)

min_sync

min_sync[T](
    iterable: Iterable[T],
    /,
    *,
    by: str | None = None,
    to_str: Callable[[T], str] | None = None,
    template: str | Callable[[T, T], str] | None = None,
    task: Task | str | None = None,
    model: str | None = None,
    max_concurrency: int | None = None,
) -> T

Standalone synchronous version of min.

Source code in src/semlib/extrema.py
def min_sync[T](
    iterable: Iterable[T],
    /,
    *,
    by: str | None = None,
    to_str: Callable[[T], str] | None = None,
    template: str | Callable[[T, T], str] | None = None,
    task: Task | str | None = None,
    model: str | None = None,
    max_concurrency: int | None = None,
) -> T:
    """Standalone synchronous version of [min][semlib.extrema.Extrema.min]."""
    extrema = Extrema(model=model, max_concurrency=max_concurrency)
    return asyncio.run(extrema.min(iterable, by=by, to_str=to_str, template=template, task=task))

max async

max[T](
    iterable: Iterable[T],
    /,
    *,
    by: str | None = None,
    to_str: Callable[[T], str] | None = None,
    template: str | Callable[[T, T], str] | None = None,
    task: Task | str | None = None,
    model: str | None = None,
    max_concurrency: int | None = None,
) -> T

Standalone version of max.

Source code in src/semlib/extrema.py
async def max[T](  # noqa: A001
    iterable: Iterable[T],
    /,
    *,
    by: str | None = None,
    to_str: Callable[[T], str] | None = None,
    template: str | Callable[[T, T], str] | None = None,
    task: Task | str | None = None,
    model: str | None = None,
    max_concurrency: int | None = None,
) -> T:
    """Standalone version of [max][semlib.extrema.Extrema.max]."""
    extrema = Extrema(model=model, max_concurrency=max_concurrency)
    return await extrema.max(iterable, by=by, to_str=to_str, template=template, task=task)

max_sync

max_sync[T](
    iterable: Iterable[T],
    /,
    *,
    by: str | None = None,
    to_str: Callable[[T], str] | None = None,
    template: str | Callable[[T, T], str] | None = None,
    task: Task | str | None = None,
    model: str | None = None,
    max_concurrency: int | None = None,
) -> T

Standalone synchronous version of max.

Source code in src/semlib/extrema.py
def max_sync[T](
    iterable: Iterable[T],
    /,
    *,
    by: str | None = None,
    to_str: Callable[[T], str] | None = None,
    template: str | Callable[[T, T], str] | None = None,
    task: Task | str | None = None,
    model: str | None = None,
    max_concurrency: int | None = None,
) -> T:
    """Standalone synchronous version of [max][semlib.extrema.Extrema.max]."""
    extrema = Extrema(model=model, max_concurrency=max_concurrency)
    return asyncio.run(extrema.max(iterable, by=by, to_str=to_str, template=template, task=task))

:::