Skip to main content
Ctrl+K
Roboto | Docs - Home
  • Get Started
  • Learn Roboto
  • User Guides
  • RoboQL
  • References
  • Login
  • GitHub
  • Twitter
  • Get Started
  • Learn Roboto
  • User Guides
  • RoboQL
  • References
  • Login
  • GitHub
  • Twitter

Section Navigation

  • Python SDK
    • roboto
      • roboto.action_runtime
        • roboto.action_runtime.action_input
        • roboto.action_runtime.exceptions
        • roboto.action_runtime.exit_codes
        • roboto.action_runtime.file_changeset
        • roboto.action_runtime.invocation_context
        • roboto.action_runtime.prepare
      • roboto.ai
        • roboto.ai.agent
        • roboto.ai.agent_thread
        • roboto.ai.core
        • roboto.ai.goals
        • roboto.ai.mcp
        • roboto.ai.record
        • roboto.ai.summary
      • roboto.analytics
        • roboto.analytics.signal_similarity
      • roboto.api_version
      • roboto.association
      • roboto.auth
        • roboto.auth.fga
        • roboto.auth.permissions
        • roboto.auth.scope
      • roboto.collection_utils
      • roboto.config
      • roboto.domain
        • roboto.domain.actions
        • roboto.domain.collections
        • roboto.domain.comments
        • roboto.domain.custom_fields
        • roboto.domain.datasets
        • roboto.domain.devices
        • roboto.domain.events
        • roboto.domain.files
        • roboto.domain.layouts
        • roboto.domain.metrics
        • roboto.domain.orgs
        • roboto.domain.secrets
        • roboto.domain.sessions
        • roboto.domain.skills
        • roboto.domain.tokens
        • roboto.domain.topics
        • roboto.domain.users
      • roboto.env
      • roboto.exceptions
        • roboto.exceptions.domain
        • roboto.exceptions.http
        • roboto.exceptions.ingestion
      • roboto.experimental
        • roboto.experimental.topics
      • roboto.fs
        • roboto.fs.api_operations
        • roboto.fs.credentials
        • roboto.fs.download_session
        • roboto.fs.file_service
        • roboto.fs.object_store
        • roboto.fs.upload_transaction
      • roboto.http
        • roboto.http.constants
        • roboto.http.headers
        • roboto.http.http_client
        • roboto.http.request
        • roboto.http.request_decorators
        • roboto.http.requester
        • roboto.http.response
        • roboto.http.retry
        • roboto.http.roboto_client
        • roboto.http.url_builder
      • roboto.image_registry
        • roboto.image_registry.http_resources
        • roboto.image_registry.image_registry
        • roboto.image_registry.record
      • roboto.logging
      • roboto.notifications
        • roboto.notifications.http_client
        • roboto.notifications.http_resources
        • roboto.notifications.record
        • roboto.notifications.validator
      • roboto.paths
      • roboto.principal
      • roboto.progress
      • roboto.query
        • roboto.query.api
        • roboto.query.client
        • roboto.query.conditions
        • roboto.query.specification
        • roboto.query.visitor
      • roboto.regionalization
      • roboto.roboto_search
      • roboto.sentinels
      • roboto.testing
        • roboto.testing.fake_http_response_factory
        • roboto.testing.stub_roboto_client
      • roboto.time
      • roboto.types
      • roboto.updates
      • roboto.upload_agent
        • roboto.upload_agent.agent
        • roboto.upload_agent.exceptions
        • roboto.upload_agent.files
      • roboto.version
      • roboto.waiters
      • roboto.warnings
  • CLI
  • REST API
  • Action Configuration
  • References
  • roboto
  • roboto.roboto_search

roboto.roboto_search#

Module Contents#

class roboto.roboto_search.RobotoSearch(query_client=None)#

A high-level interface for querying the Roboto data platform.

In most cases, using this class should be as simple as:

>>> from roboto import RobotoSearch
>>> rs = RobotoSearch()
>>> for dataset in rs.find_datasets(...):
...     ...
Parameters:

query_client (Optional[roboto.query.QueryClient])

find_collections(query=None, timeout_seconds=math.inf)#
Parameters:
  • query (Optional[roboto.query.Query])

  • timeout_seconds (float)

Return type:

collections.abc.Generator[roboto.domain.collections.Collection, None, None]

find_datasets(query=None, content_mode=QueryContentMode.RecordOnly, timeout_seconds=math.inf)#
Parameters:
  • query (Optional[roboto.query.Query])

  • content_mode (roboto.query.QueryContentMode)

  • timeout_seconds (float)

Return type:

collections.abc.Generator[roboto.domain.datasets.Dataset, None, None]

find_events(query=None, timeout_seconds=math.inf)#
Parameters:
  • query (Optional[roboto.query.Query])

  • timeout_seconds (float)

Return type:

collections.abc.Generator[roboto.domain.events.Event]

find_files(query=None, timeout_seconds=math.inf)#
Parameters:
  • query (Optional[roboto.query.Query])

  • timeout_seconds (float)

Return type:

collections.abc.Generator[roboto.domain.files.File, None, None]

find_message_paths(query=None, timeout_seconds=math.inf)#
Parameters:
  • query (Optional[roboto.query.Query])

  • timeout_seconds (float)

Return type:

collections.abc.Generator[roboto.domain.topics.MessagePath, None, None]

find_sessions(query=None, timeout_seconds=math.inf)#

Yield Session objects matching query, one at a time.

Submits query against the structured-query API targeting Sessions and lazily materializes each row into a Session instance bound to the caller’s RobotoClient. Iteration drives server-side pagination under the hood; timeout_seconds bounds the total wall-clock time spent waiting for query results before iteration stops.

Filterable fields:

  • session_id (alias id).

  • name.

  • min_timestamp_ns (alias start_time) — inclusive lower bound of the session’s recorded time window.

  • max_timestamp_ns (alias end_time) — inclusive upper bound of the session’s recorded time window.

  • duration — synthetic numeric field equal to max_timestamp_ns - min_timestamp_ns; accepts integer nanoseconds only.

  • dataset.dataset_id (alias dataset.id) — matches sessions that include at least one file from the given dataset. = / != only.

  • device.device_id (alias device.id) — matches sessions attached to the given device. = / != only.

  • metric.<name> (alias metrics.<name>) — matches sessions by a session metric named <name>; dots are part of the metric name (e.g. metric.cpu.load.max). Accepts value and existence comparators. The value comparators =, !=, >, >=, <, <= require a numeric value, and only match sessions that have the metric and whose value satisfies the comparison. The presence comparators take no value: IS_NOT_NULL / EXISTS match sessions that have the metric (any value); IS_NULL / NOT_EXISTS match sessions that lack it.

The four time-window fields accept any shape roboto.time.Time permits — integer epoch nanoseconds, float / Decimal / <sec>.<nsec> string seconds, ISO8601 strings, or tz-aware datetime — and the server normalizes the value to epoch nanoseconds before the comparison runs.

Sortable fields: session_id, min_timestamp_ns, and duration.

Parameters:
  • query (Optional[roboto.query.Query])

  • timeout_seconds (float)

Return type:

collections.abc.Generator[roboto.domain.sessions.Session, None, None]

find_topics(query=None, timeout_seconds=math.inf)#

Examples

>>> import matplotlib.pyplot as plt
>>> from roboto import RobotoSearch
>>> robosearch = RobotoSearch()
>>> for topic in robosearch.find_topics("msgpaths[cpuload.load].max > 0.9"):
...     df = topic.get_data_as_df(message_paths_include=["cpuload.load"])
...     plt.plot(df.index, df["cpuload.load"], label=topic.topic_id)
>>> plt.legend()
>>> plt.show()
Parameters:
  • query (Optional[roboto.query.Query])

  • timeout_seconds (float)

Return type:

collections.abc.Generator[roboto.domain.topics.Topic, None, None]

classmethod for_roboto_client(roboto_client, org_id=None)#
Parameters:
  • roboto_client (roboto.http.RobotoClient)

  • org_id (Optional[str])

Return type:

RobotoSearch

classmethod from_env()#

Create a RobotoSearch instance configured from environment variables.

Reads authentication credentials and endpoint configuration from environment variables ($ROBOTO_API_KEY/$ROBOTO_BEARER_TOKEN, $ROBOTO_SERVICE_ENDPOINT) or the config file at $ROBOTO_CONFIG_FILE (default: ~/.roboto/config.json). If using the config file, $ROBOTO_PROFILE can be used to select a profile from the config.

$ROBOTO_ORG_ID can be used to set the organization ID to query. This should only be necessary if you belong to multiple organizations.

Returns:

A configured RobotoSearch instance ready to query the Roboto platform.

Return type:

RobotoSearch

Examples

>>> import roboto
>>> roboto_search = roboto.RobotoSearch.from_env()
>>> for dataset in roboto_search.find_datasets():
...     print(dataset.name)

previous

roboto.regionalization

next

roboto.sentinels

On this page
  • Module Contents
    • RobotoSearch
      • RobotoSearch.find_collections()
      • RobotoSearch.find_datasets()
      • RobotoSearch.find_events()
      • RobotoSearch.find_files()
      • RobotoSearch.find_message_paths()
      • RobotoSearch.find_sessions()
      • RobotoSearch.find_topics()
      • RobotoSearch.for_roboto_client()
      • RobotoSearch.from_env()

© Copyright 2026, Roboto.

Created using Sphinx 7.4.7.

Built with the PyData Sphinx Theme 0.15.4.