Paginator¶
Summary¶
|
Get all pages of a multi-page request. |
Module Contents¶
- class pyinaturalist.paginator.IDPaginator(*args, ids=None, **kwargs)¶
Bases:
pyinaturalist.paginator.Paginator
Paginator for endpoints that only accept a single ID per request
- class pyinaturalist.paginator.JsonPaginator(request_function, model, *request_args, method='page', limit=None, per_page=None, **kwargs)¶
Bases:
pyinaturalist.paginator.Paginator
Paginator that returns raw response dicts instead of model objects
- class pyinaturalist.paginator.Paginator(request_function, model, *request_args, method='page', limit=None, per_page=None, **kwargs)¶
Bases:
Iterable
,AsyncIterable
,Generic
[pyinaturalist.models.base.T
]Class to handle pagination of API requests, with async support
- Parameters
request_function (
Callable
) – API request function to paginatemodel (
TypeVar
(T
, bound= BaseModel)) – Model class to use for resultsmethod (
str
) – Pagination method; either ‘page’ or ‘id’ (see note below)per_page (
Optional
[int
]) – Maximum number of results to fetch per pagekwargs – Original request parameters
Note
Note on pagination by ID, from the iNaturalist documentation:
The large size of the observations index prevents us from supporting the page parameter when retrieving records from large result sets. If you need to retrieve large numbers of records, use the ``per_page`` and ``id_above`` or ``id_below`` parameters instead.
- count()¶
Get the total number of results for this query, without fetching response data.
- Return type
- Returns
Either the total number of results, if the endpoint provides pagination info, or
-1