fmn.backends.base module¶
- class fmn.backends.base.APIClient(base_url: str | None = None, **kwargs)[source]¶
Bases:
ABC- abstractmethod determine_next_page_params(url: str, params: dict, result: dict) tuple[str, dict] | tuple[None, None][source]¶
Determine parameters for next page.
- Parameters:
url – API endpoint URL
params – Query parameters (can be modified)
result – Result dictionary of previous query
- Returns:
Tuple of (new URL, new params dict) or (None, None) if last page
- async get_paginated(url: str, *, params: dict | None = None, payload_field: str | None = None, default_factory: ~collections.abc.Callable[[], list] = <class 'list'>, **kwargs) AsyncIterator[source]¶
Query the API and iterate over paginated results if applicable.
- exception fmn.backends.base.PaginationRecursionError[source]¶
Bases:
RuntimeError