thousandeyes-sdk-python/thousandeyes-sdk-core
Rodrigo Rodrigues 85758d8414
Some checks are pending
Python CI / build (push) Waiting to run
feat: Add pagination iterable helper (#125)
2026-01-26 17:18:17 +00:00
..
src/thousandeyes_sdk/core feat: Add pagination iterable helper (#125) 2026-01-26 17:18:17 +00:00
test feat: Add pagination iterable helper (#125) 2026-01-26 17:18:17 +00:00
pyproject.toml Fix dependencies of core. 2024-09-25 07:44:09 +00:00
README.md feat: Add pagination iterable helper (#125) 2026-01-26 17:18:17 +00:00

thousandeyes-sdk-core

This package provides core functionality for interacting with the ThousandEyes API and should be installed before using any of the published SDKs.

PaginationIterable is unbounded, so wrap it with itertools.islice to cap the number of items and avoid making unintended, potentially expensive API calls. Pick a slice size that matches your UI or batch size so you only fetch what you plan to process:

from thousandeyes_sdk.core import Configuration, ApiClient, PaginationIterable
from thousandeyes_sdk.dashboards import DashboardsApi
from itertools import islice

configuration = Configuration(
    host = "https://api.thousandeyes.com/v7",
    access_token = "an_access_token",
)


def get_dashboard_widget_data():
    with ApiClient(configuration) as client:
        dashboards_api = DashboardsApi(client)
        for item in list(islice(PaginationIterable(
            dashboards_api.get_dashboard_widget_data,
            lambda response: response.data.tests,
            dashboard_id="a_dashboard_id",
            widget_id="a_widget_id",
        ), 20)):
            print(item.test_id)