Skip to content

Primo

Reached as client.primo. Targets /primo/v1 on the same gateway as the rest of the API.

AlmaClientPrimoNS

AlmaClientPrimoNS(client: _AlmaExecutable)

Bases: BaseNamespace

Namespace for the Primo Search API, exposed at AlmaClient.primo.

Reaches the same regional gateway as Alma with the same API key, but on the /primo/v1 base path rather than Alma's /almaws/v1.

search async

search(
    q: str,
    vid: str,
    tab: str,
    scope: str,
    *,
    limit: int = ...,
    offset: int = ...,
    sort: _Sort = ...,
    lang: str = ...,
    q_include: str | None = ...,
    q_exclude: str | None = ...,
    multi_facets: str | None = ...,
    from_date: str | None = ...,
    personalization: str | None = ...,
    journals: str | None = ...,
    databases: str | None = ...,
    con_voc: bool = ...,
    skip_delivery: bool = ...,
    disable_split_facets: bool = ...,
    newspapers_search: bool = ...,
    pc_availability: bool = ...,
    model: type[_ModelT],
) -> _ModelT
search(
    q: str,
    vid: str,
    tab: str,
    scope: str,
    *,
    limit: int = ...,
    offset: int = ...,
    sort: _Sort = ...,
    lang: str = ...,
    q_include: str | None = ...,
    q_exclude: str | None = ...,
    multi_facets: str | None = ...,
    from_date: str | None = ...,
    personalization: str | None = ...,
    journals: str | None = ...,
    databases: str | None = ...,
    con_voc: bool = ...,
    skip_delivery: bool = ...,
    disable_split_facets: bool = ...,
    newspapers_search: bool = ...,
    pc_availability: bool = ...,
    model: None = ...,
) -> RESP_TYPE

Issue a Primo discovery search.

Snake_case keyword arguments are translated to the camelCase query parameters the Primo API expects. Parameters left as None are omitted from the request (niquests drops None values).