Borehole

Represents a Borehole asset. Inherits data and feed operations from Asset.

class roak_sdk.semantics.assets.borehole.Borehole(data, registry)[source]

Bases: Asset

Represents a Borehole asset.

Parameters:
  • data (dict)

  • registry (ClientRegistry)

DEFAULT_FEEDS: list[str] = ['Pulldown Pressure', 'Pullup Pressure', 'Flushing Pressure', 'Flushing Debit', 'Torque', 'Rotation Speed', 'Penetration Speed', 'Sonic Speed', 'Sonic Frequency']
DEFAULT_TIMEFRAME_DAYS: int = 1
get_depth_data()[source]

Fetch depth data for this borehole.

Returns:

A list of records, each containing:
  • timestamp: The time of the measurement (millis since epoch)

  • datetime: Python datetime object (UTC) derived from timestamp

  • depth: The depth of the measurement

  • <feedname>: The value for each feed at that timestamp/depth

Return type:

list[dict]

get_attributes()

Get the locally cached attribute dictionary.

Returns:

Raw data dictionary.

Return type:

dict

get_data(start_datetime=None, end_datetime=None, feeds=None)

First check if requested feeds exist. Fetch data for this asset within a date range.

Parameters:
  • start_datetime (datetime | int | None) – Start of the date range as timezone-aware datetime or milliseconds since epoch.

  • end_datetime (datetime | int | None) – End of the date range as timezone-aware datetime or milliseconds since epoch.

  • feeds (list[str] | None)

Returns:

List of data records.

Return type:

list[dict]

Raises:

AssetValidationError – If provided datetimes are naive or invalid.

get_feeds()

Fetch available data feeds for this asset.

Returns:

List of feed definitions.

Return type:

list[dict]

get_last_values()

Get one last-reading summary row per feed for this semantic.

Returns rows with:
  • feedname

  • last_value

  • unit (unit.name)

  • record_time

Return type:

list[dict]

refresh_attributes()

Fetch semantic attributes for this semantic and merge into _data.

Expects the API payload shape to be paged, with the attribute list in payload["content"].

Returns:

Updated attributes dictionary.

Return type:

dict

Raises:
  • KeyError – If content is missing from the API payload.

  • TypeError – If content is not iterable as expected.