thousandeyes-sdk-python/thousandeyes-sdk-core
Kevin Han 75929e93d0
Some checks failed
Python CI / build (push) Has been cancelled
Feat: Add core integration test mock server support (#165)
* CP-2453 Add core test mock server and exception status mapping

Move the integration mock server into test-only sdk_test_support helpers
and expose ApiException.exception_class_for_http_status for generated
integration error assertions.

Co-authored-by: Cursor <cursoragent@cursor.com>

* add test for validating OAS not match case

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 15:41:13 +01:00
..
src/thousandeyes_sdk/core Feat: Add core integration test mock server support (#165) 2026-07-30 15:41:13 +01:00
test Feat: Add core integration test mock server support (#165) 2026-07-30 15:41:13 +01:00
pyproject.toml Fix: Upgrade to urllib3 >= 2.6.3 (#162) 2026-07-13 09:29:31 +01: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)