api_24sea.datasignals.planning#

Shared request planning for DataSignals client facades.

Classes#

DataRequest

Describe one DataSignals data endpoint request.

DataRequestPlan

Describe ordered requests and their concurrency limits.

Functions#

get_group_locations(→ List[str])

Return stable unique locations from a grouped metrics DataFrame.

get_group_site_name(→ str)

Return a grouped site key as a string.

plan_data_requests(→ DataRequestPlan)

Create an ordered request plan for a DataSignals data query.

Module Contents#

class DataRequest#

Describe one DataSignals data endpoint request.

class DataRequestPlan#

Describe ordered requests and their concurrency limits.

get_group_locations(group: pandas.DataFrame) List[str]#

Return stable unique locations from a grouped metrics DataFrame.

get_group_site_name(site: object) str#

Return a grouped site key as a string.

plan_data_requests(grouped_metrics: Iterable[Tuple[object, pandas.DataFrame]], start_timestamp: str | datetime.datetime, end_timestamp: str | datetime.datetime, selected_metrics: pandas.DataFrame | None) DataRequestPlan#

Create an ordered request plan for a DataSignals data query.

Parameters#

grouped_metricsiterable of tuple

Metric groups keyed by site.

start_timestamp, end_timestampstr or datetime.datetime

Full query range.

selected_metricspandas.DataFrame or None

Metrics selected for the query.

Returns#

DataRequestPlan

Ordered requests and the calculated concurrency limit.