singer_sdk.pagination.BaseAPIPaginator¶
- class singer_sdk.pagination.BaseAPIPaginator[source]¶
An API paginator object.
- __init__(start_value)[source]¶
Create a new paginator.
- Parameters:
start_value (TPageToken) – Initial value.
- Return type:
None
- advance(response)[source]¶
Get a new page value and advance the current one.
- Parameters:
response (requests.Response) – API response object.
- Raises:
RuntimeError – If a loop in pagination is detected. That is, when two consecutive pagination tokens are identical.
- Return type:
None
- continue_if_empty(response)[source]¶
Check if pagination should continue even if the response is empty.
Override this method to keep the pagination going even if the page retrieved from the API is empty but the next one may have records.
- Parameters:
response (requests.Response) – API response object.
- Returns:
Boolean flag used to indicate if the endpoint has more pages.
- Return type:
- abstractmethod get_next(response)[source]¶
Get the next pagination token or index from the API response.
- Parameters:
response (requests.Response) – API response object.
- Returns:
- The next page token or index. Return None from this method to indicate
the end of pagination.
- Return type:
TPageToken | None
- has_more(response)[source]¶
Override this method to check if the endpoint has any pages left.
- Parameters:
response (requests.Response) – API response object.
- Returns:
Boolean flag used to indicate if the endpoint has more pages.
- Return type: