Skip to content
Roboto
Esc
↑↓navigate↵open⌘Jpreview
On this page

roboto.query

Submodules

Package Contents

BaseVisitor

class roboto.query.BaseVisitor#View Source

Bases: ConditionVisitor

Query base visitor

BaseVisitor.visit_condition()

visit_condition(condition)#View Source

BaseVisitor.visit_condition_group()

visit_condition_group(condition_group)#View Source

BooleanFilter

class roboto.query.BooleanFilter(/, **data)#View Source

Bases: _FilterBase

True or false, or unset.

Parameters

data Any

Attributes

BooleanFilter.type

type Literal['boolean'] = 'boolean' #

BooleanFilter.values

values list[bool] = None #

Comparator

class roboto.query.Comparator#View Source

Bases: roboto.compat.StrEnum

The comparator to use when comparing a field to a value.

Attributes

Comparator.BeginsWith

BeginsWith = 'BEGINS_WITH' #

Comparator.Contains

Contains = 'CONTAINS' #

Comparator.Equals

Equals = 'EQUALS' #

Comparator.Exists

Exists = 'EXISTS' #

Comparator.GreaterThan

GreaterThan = 'GREATER_THAN' #

Comparator.GreaterThanOrEqual

GreaterThanOrEqual = 'GREATER_THAN_OR_EQUAL' #

Comparator.IsNotNull

IsNotNull = 'IS_NOT_NULL' #

Comparator.IsNull

IsNull = 'IS_NULL' #

Comparator.LessThan

LessThan = 'LESS_THAN' #

Comparator.LessThanOrEqual

LessThanOrEqual = 'LESS_THAN_OR_EQUAL' #

Comparator.Like

Like = 'LIKE' #

Comparator.NotContains

NotContains = 'NOT_CONTAINS' #

Comparator.NotEquals

NotEquals = 'NOT_EQUALS' #

Comparator.NotExists

NotExists = 'NOT_EXISTS' #

Comparator.NotLike

NotLike = 'NOT_LIKE' #

Comparator.from_string()

static from_string(value)#View Source

Parameters

value str

Return type

Comparator.to_compact_string()

to_compact_string()#View Source

Condition

class roboto.query.Condition(/, **data)#View Source

Bases: pydantic.BaseModel

A filter for any arbitrary attribute for a Roboto resource.

Parameters

data Any

Attributes

Condition.comparator

comparator Comparator #

Condition.equals_cond()

classmethod equals_cond(field, value)#View Source

Parameters

field str

Return type

Attributes

Condition.field

field Annotated[str, Field] #

Condition.matches()

matches(target)#View Source

Parameters

target dict

Return type

bool

Condition.target_unspecified()

target_unspecified()#View Source

Is the target resource of this query condition unspecified?

Return type

bool

Condition.targets_dataset()

targets_dataset()#View Source

Does this query condition target a dataset?

Return type

bool

Condition.targets_file()

targets_file()#View Source

Does this query condition target a file?

Return type

bool

Condition.targets_message_path()

targets_message_path()#View Source

Does this query condition target a message path?

Return type

bool

Condition.targets_topic()

targets_topic()#View Source

Does this query condition target a topic?

Return type

bool

Attributes

Condition.value

value ConditionValue = None #

ConditionGroup

class roboto.query.ConditionGroup(/, **data)#View Source

Bases: pydantic.BaseModel

A group of conditions that are combined together.

Parameters

data Any

ConditionGroup.and_group()

static and_group(*conditions)#View Source

Parameters

conditions ConditionType

Return type

Attributes

ConditionGroup.conditions

conditions collections.abc.Sequence[ConditionType] #

ConditionGroup.matches()

matches(target)#View Source

Parameters

target dict | Callable[[ConditionType], bool]

Attributes

ConditionGroup.operator

ConditionGroup.or_group()

static or_group(*conditions)#View Source

Parameters

conditions ConditionType

Return type

ConditionGroup.validate_conditions()

validate_conditions(v)#View Source

Parameters

v collections.abc.Sequence[ConditionType]

ConditionOperator

class roboto.query.ConditionOperator#View Source

Bases: roboto.compat.StrEnum

The operator to use when combining multiple conditions.

Attributes

ConditionOperator.And

And = 'AND' #

ConditionOperator.Not

Not = 'NOT' #

ConditionOperator.Or

Or = 'OR' #

ConditionOperator.from_string()

static from_string(value)#View Source

Parameters

value str

ConditionType

roboto.query.ConditionType#View Source

ConditionValue

roboto.query.ConditionValue#View Source

ConditionVisitor

class roboto.query.ConditionVisitor#View Source

Bases: abc.ABC

Query condition visitor

ConditionVisitor.visit()

visit(cond)#View Source

ConditionVisitor.visit_condition()

abstract visit_condition(condition)#View Source

ConditionVisitor.visit_condition_group()

abstract visit_condition_group(condition_group)#View Source

DEFAULT_PAGE_SIZE

roboto.query.DEFAULT_PAGE_SIZE: int = 50#View Source

Default page size for search.

DateFilter

class roboto.query.DateFilter(/, **data)#View Source

Bases: _FilterBase

Instants and ranges. Values are ISO 8601 strings.

The only variant offering relative windows, which is where the fidelity problem this whole model exists for actually bites.

Parameters

data Any

EnumFilter

class roboto.query.EnumFilter(/, **data)#View Source

Bases: _FilterBase

Equality against a closed set of options.

Parameters

data Any

Attributes

EnumFilter.type

type Literal['enum'] = 'enum' #

EnumFilter.values

values list[str] = None #

Field

class roboto.query.Field(path)#View Source

Bases: str

A string-like field path that parses resource qualifiers and extracts the target path.

Field extends str to provide automatic parsing of qualified field paths like “dataset.metadata.owner” or “topic.name” into their constituent parts. It identifies the target resource type (dataset, file, topic, or message_path) and extracts the actual field path within that resource.

The class supports both qualified paths (e.g., “dataset.org_id”) and unqualified paths (e.g., “org_id”). For qualified paths, it strips the resource prefix and stores both the original fully qualified path and the extracted target information.

Usage

field = Field("dataset.metadata.foo")
field.target.resource
# 'dataset'
field.target.path
# 'metadata.foo'
field = Field("org_id")
field.target.resource is None
# True
field.target.path
# 'org_id'

Parameters

path str

Properties

Field.target

target FieldTarget #
Return type: FieldTarget

Field.wrap()

classmethod wrap(field)#View Source

Parameters

field Union[str, Field]

Return type

Filter

type roboto.query.Filter = typing.Annotated[typing.Union[StringFilter, NumericFilter, MetricFilter, DateFilter, BooleanFilter, SetFilter, EnumFilter, IdentityFilter], pydantic.Field(discriminator='type')]#View Source

One filter row. type selects the variant, and with it the operators on offer.

FilterMatchMode

class roboto.query.FilterMatchMode#View Source

Bases: roboto.compat.StrEnum

How separate filters combine.

Attributes

FilterMatchMode.And

And = 'AND' #

Every filter must match.

FilterMatchMode.Or

Or = 'OR' #

At least one filter must match.

FilterOnlyComparator

class roboto.query.FilterOnlyComparator#View Source

Bases: roboto.compat.StrEnum

Operators a saved filter needs that Comparator cannot express.

Every member is a gap in the query language, and this enum is the list of them. It is the complement of Comparator, never a superset: a member here that Comparator can express is a stale entry.

Members are removed one at a time as Comparator grows to cover them. The wire values do not change when that happens, so filters saved beforehand keep parsing.

Attributes

FilterOnlyComparator.Between

Between = 'BETWEEN' #

An inclusive range. Translates to GTE and LTE, which loses the fact that the author expressed one range rather than two independent bounds.

FilterOnlyComparator.Last24Hours

Last24Hours = 'LAST_24_HOURS' #

FilterOnlyComparator.Last30Days

Last30Days = 'LAST_30_DAYS' #

FilterOnlyComparator.Last3Hours

Last3Hours = 'LAST_3_HOURS' #

FilterOnlyComparator.Last7Days

Last7Days = 'LAST_7_DAYS' #

FilterOnlyComparator.Last8Hours

Last8Hours = 'LAST_8_HOURS' #

FilterOnlyComparator.Last90Days

Last90Days = 'LAST_90_DAYS' #

FilterOnlyComparator.ThisMonth

ThisMonth = 'THIS_MONTH' #

Relative windows, resolved against “now” when the filter runs.

These are the members that matter. The others cost fidelity; these cost correctness — a resolved window is wrong the day after it is saved, and nothing about the stored value says so.

FilterOnlyComparator.Today

Today = 'TODAY' #

IdentityComparator

class roboto.query.IdentityComparator#View Source

Bases: roboto.compat.StrEnum

Operators over a principal-valued field, where the operator names a principal type.

An audit column such as created_by stores a fully-qualified principal — user:<user_id>, device:<device_id>@<org_id>, invocation:<invocation_id> — so “created by a user” is a question about the type prefix and “created by this user” a question about the whole value. Putting the type in the operator is what lets a filter UI offer the matching directory to pick from, instead of asking for a hand-typed prefix.

Each type contributes two operators (see IDENTITY_OPERATORS_BY_TYPE): a value-bearing IS_<TYPE> and a valueless IS_ANY_<TYPE>.

Separate from FilterOnlyComparator because these are not gaps in the query language. Both halves are expressible as a query today — IS_<TYPE> as EQUALS against each picked principal, IS_ANY_<TYPE> as LIKE '<type>:%' — so they are never removed. They are a filter-control affordance, and they outlive the gap enum.

Attributes

IdentityComparator.IsAnyDevice

IsAnyDevice = 'IS_ANY_DEVICE' #

IdentityComparator.IsAnyIntegration

IsAnyIntegration = 'IS_ANY_INTEGRATION' #

IdentityComparator.IsAnyInvocation

IsAnyInvocation = 'IS_ANY_INVOCATION' #

IdentityComparator.IsAnyOrg

IsAnyOrg = 'IS_ANY_ORG' #

IdentityComparator.IsAnyUser

IsAnyUser = 'IS_ANY_USER' #

IdentityComparator.IsDevice

IsDevice = 'IS_DEVICE' #

IdentityComparator.IsIntegration

IsIntegration = 'IS_INTEGRATION' #

IdentityComparator.IsInvocation

IsInvocation = 'IS_INVOCATION' #

IdentityComparator.IsOrg

IsOrg = 'IS_ORG' #

IdentityComparator.IsUser

IsUser = 'IS_USER' #

IdentityFilter

class roboto.query.IdentityFilter(/, **data)#View Source

Bases: _FilterBase

A principal-valued field, filtered by principal type.

Audit columns (created_by, modified_by) hold a fully-qualified principal string, so the operator names the type (IdentityComparator) and any values it takes are principals of that type — an IS_USER filter carrying a device: value is rejected, since it records an intent the picker cannot express and a query cannot satisfy.

Values are labeled options rather than bare strings: a principal id is not a name a reader can place, so the directory’s display name is captured alongside it at pick time.

Has no presence axis. Every write path stamps an audit principal, so the column is never null and a null check would be an operator that always answers the same way.

Parameters

data Any

Attributes

IdentityFilter.type

type Literal['identity'] = 'identity' #

IdentityFilter.values

values list[LabeledOption] = None #

LabeledOption

class roboto.query.LabeledOption(/, **data)#View Source

Bases: pydantic.BaseModel

One option as it was picked: the value a query is built from, plus what the picker showed.

Both halves are stored because the label cannot be recovered later. An opaque value — user:usr_01J..., a tag id — renders as itself, and resolving it on load would mean a directory lookup per chip, against an org that whoever opens a shared View may not be able to read. Only value ever reaches a query.

Parameters

data Any

Attributes

LabeledOption.label

label str #

What the picker displayed when the author chose this option. Display only, never queried.

LabeledOption.model_config

model_config #

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

LabeledOption.value

value str #

What the query is built from. A fully-qualified principal, for an identity filter.

MAX_PAGE_SIZE

roboto.query.MAX_PAGE_SIZE: int = 1000#View Source

Maximum allowable page size for search.

METRIC_FIELD_PATTERN

roboto.query.METRIC_FIELD_PATTERN: Final[str] = '^metric\\..+'#View Source

METRIC_FIELD_PREFIX

roboto.query.METRIC_FIELD_PREFIX: Final[str] = 'metric.'#View Source

Prefix distinguishing a user-defined metric from an ordinary numeric property.

Metric filters store the prefixed form so that field means the same thing here as it does in a Condition, and translating a filter into a query copies the field across rather than special-casing it.

MetricFilter

class roboto.query.MetricFilter(/, **data)#View Source

Bases: _FilterBase

Ordering and equality over a user-defined metric.

Numeric in every respect except that field is a metric path. Kept a distinct variant so a client restoring a View knows to reopen the metric picker rather than the property form, which it cannot infer from the field name alone.

Carries the presence pair like any other scalar type. A session may simply have no such metric recorded, and the session query path answers that directly — it maps IS_NULL to a NOT EXISTS over the metrics table.

Parameters

data Any

Attributes

MetricFilter.field

The field being filtered, as the query layer addresses it.

MetricFilter.type

type Literal['metric'] = 'metric' #

MetricFilter.unit

unit str | None = None #

The metric’s unit, copied from its definition when the filter was built.

Denormalized for display: the filter chip renders it beside the value (“path_deviation > 1.5 m”) without looking the definition up. None when the definition declares no unit.

Being a copy, it goes stale if the definition’s unit later changes: a saved View renders the unit the filter was built with, not the current one.

MetricFilter.values

values list[float] = None #

NumericFilter

class roboto.query.NumericFilter(/, **data)#View Source

Bases: _FilterBase

Ordering and equality over a numeric property.

Parameters

data Any

QualifiedRoboqlQuery

class roboto.query.QualifiedRoboqlQuery(/, **data)#View Source

Bases: pydantic.BaseModel

A RoboQL query which has been qualified with a target.

Parameters

data Any

Attributes

QualifiedRoboqlQuery.query

query str = None #

QualifiedRoboqlQuery.target

target QueryTarget = None #

Query

type roboto.query.Query = typing.Union[RoboQLQuery, QuerySpecification]#View Source

QueryClient

class roboto.query.QueryClient(roboto_client=None, owner_org_id=None, roboto_profile=None)#View Source

A low-level Roboto query client. Prefer RobotoSearch for a simpler, more curated query interface.

Parameters

roboto_client Optional[roboto.http.RobotoClient]
owner_org_id Optional[str]
roboto_profile Optional[str]

QueryClient.are_query_results_available()

are_query_results_available(query_id, owner_org_id=None)#View Source

Parameters

query_id str
owner_org_id Optional[str]

Return type

bool

QueryClient.get_query_record()

get_query_record(query_id, owner_org_id=None)#View Source

Parameters

query_id str
owner_org_id Optional[str]

QueryClient.get_query_results()

get_query_results(query_id, owner_org_id=None)#View Source

Parameters

query_id str
owner_org_id Optional[str]

Return type

collections.abc.Generator[dict[str, Any], None, None]

Properties

QueryClient.roboto_client

QueryClient.submit_query()

submit_query(query, target, timeout_seconds, content_mode=QueryContentMode.RecordWithMeta, owner_org_id=None)#View Source

Parameters

query Optional[Query]
timeout_seconds float
owner_org_id Optional[str]

Return type

collections.abc.Generator[dict[str, Any], None, None]

QueryClient.submit_roboql()

submit_roboql(request, owner_org_id=None)#View Source

Parameters

owner_org_id Optional[str]

QueryClient.submit_roboql_and_await_results()

submit_roboql_and_await_results(request, timeout_seconds, owner_org_id=None)#View Source

Parameters

timeout_seconds float
owner_org_id Optional[str]

Return type

collections.abc.Generator[dict[str, Any], None, None]

QueryClient.submit_structured()

submit_structured(request, owner_org_id=None)#View Source

Parameters

owner_org_id Optional[str]

QueryClient.submit_structured_and_await_results()

submit_structured_and_await_results(request, timeout_seconds, owner_org_id=None)#View Source

Parameters

timeout_seconds float
owner_org_id Optional[str]

Return type

collections.abc.Generator[dict[str, Any], None, None]

QueryClient.submit_term()

submit_term(request, owner_org_id=None)#View Source

Parameters

owner_org_id Optional[str]

QueryClient.submit_term_and_await_results()

submit_term_and_await_results(request, timeout_seconds=math.inf, owner_org_id=None)#View Source

Parameters

timeout_seconds float
owner_org_id Optional[str]

Return type

collections.abc.Generator[dict[str, Any], None, None]

QueryContentMode

class roboto.query.QueryContentMode#View Source

Bases: roboto.compat.StrEnum

Hint to query APIs on whether to return Roboto entities with custom metadata.

In RecordOnly mode, Roboto entities are returned without custom metadata, ensuring a smaller and more predictable response size. Use this mode when you need lower query latency, larger result page sizes, or both.

In RecordWithMeta mode, Roboto entities are returned with all available custom metadata. Use this mode if you need immediate access to metadata fields.

Note: content mode support is initially available for dataset queries, and will be added incrementally for other entity types.

Attributes

QueryContentMode.RecordOnly

RecordOnly = 'record_only' #

Query results are returned with core Roboto data attributes only.

Those attributes establish the identity and function of Roboto entities.

QueryContentMode.RecordWithMeta

RecordWithMeta = 'record_with_meta' #

Query results are returned with all available entity attributes.

This includes core Roboto data attributes as well as custom metadata.

QueryContext

class roboto.query.QueryContext(/, **data)#View Source

Bases: pydantic.BaseModel

Context for a query

Parameters

data Any

Attributes

QueryContext.query

query dict[str, Any] = None #

QueryContext.query_scheme

query_scheme QueryScheme #

QueryRecord

class roboto.query.QueryRecord(/, **data)#View Source

Bases: pydantic.BaseModel

A wire-transmissible representation of a query.

Parameters

data Any

Attributes

QueryRecord.modified

modified datetime.datetime = None #

QueryRecord.org_id

org_id str = None #

QueryRecord.query_ctx

query_ctx QueryContext = None #

QueryRecord.query_id

query_id str = None #

QueryRecord.result_count

result_count int = None #

QueryRecord.status

status QueryStatus = None #

QueryRecord.submitted

submitted datetime.datetime = None #

QueryRecord.submitted_by

submitted_by str = None #

QueryRecord.target

target QueryTarget = None #

QueryScheme

class roboto.query.QueryScheme#View Source

Bases: roboto.compat.StrEnum

A specific query format/schema which can be used in combination with some context JSON to provide all information required to execute a query.

Attributes

QueryScheme.QuerySpecV1

QuerySpecV1 = 'query_spec_v1' #

The initial variant of roboto.query.QuerySpecification which powered search since mid 2023.

QuerySpecification

class roboto.query.QuerySpecification(/, **data)#View Source

Bases: pydantic.BaseModel

Model for specifying a query to the Roboto Platform.

Usage

Specify a query with a single condition:

>>> from roboto import query >>> query_spec = query.QuerySpecification( … condition=query.Condition(field=“name”, comparator=query.Comparator.Equals, value=“Roboto”) … )

Specify a query with multiple conditions:

>>> from roboto import query >>> query_spec = query.QuerySpecification( … condition=query.ConditionGroup( … operator=query.ConditionOperator.And, … conditions=[ … query.Condition(field=“name”, comparator=query.Comparator.Equals, value=“Roboto”), … query.Condition(field=“age”, comparator=query.Comparator.GreaterThan, value=18), … ], … ) … )

Arbitrarily nest condition groups:

>>> from roboto import query >>> query_spec = query.QuerySpecification( … condition=query.ConditionGroup( … operator=query.ConditionOperator.And, … conditions=[ … query.Condition(field=“name”, comparator=query.Comparator.Equals, value=“Roboto”), … query.ConditionGroup( … operator=query.ConditionOperator.Or, … conditions=[ … query.Condition(field=“age”, comparator=query.Comparator.GreaterThan, value=18), … query.Condition(field=“age”, comparator=query.Comparator.LessThan, value=30), … ], … ), … ], … ) … )

Parameters

data Any

Attributes

QuerySpecification.after

after str | None = None #

Encoded next page token. Optional.

QuerySpecification.condition

Query condition(s) to evaluate when looking up Roboto entities.

QuerySpecification.fields()

fields()#View Source

Return a set of all fields referenced in the query.

Return type

set[str]

Attributes

QuerySpecification.limit

limit int = 1000 #

Page size for returned results. Optional, default is MAX_PAGE_SIZE.

QuerySpecification.max_results

max_results int | None = None #

Maximum number of results to return across all pages. Must be >= 1 when set. None (default) means no cap — pagination yields the full result set. Distinct from limit, which is the per-page size.

Only honored for queries executed via Roboto search (the QueryTarget resource types: collections, datasets, devices, files, sessions, topics, topic message paths, events). Other code paths that accept a QuerySpecification ignore this field.

QuerySpecification.model_config

model_config #

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

QuerySpecification.sort_by

sort_by str | None = None #

Field to sort results by. Optional, defaults to created date (created).

QuerySpecification.sort_direction

sort_direction SortDirection | None = None #

Sort direction for query results. Optional, defaults to “descending”.

QueryStatus

class roboto.query.QueryStatus(*args, **kwds)#View Source

Bases: enum.Enum

The query lifecycle state of a given query.

Attributes

QueryStatus.Failed

Failed = 'failed' #

Indicates the query failed to execute.

QueryStatus.ResultsAvailable

ResultsAvailable = 'results_available' #

Indicates that query results are available for clients to retrieve.

Results might be available immediately, such as in paginated database search, or once a (potentially expensive) calculation completes for more advanced search modalities.

QueryStatus.Scheduled

Scheduled = 'scheduled' #

Indicates the query is scheduled for execution.

QueryStorageContext

class roboto.query.QueryStorageContext(/, **data)#View Source

Bases: pydantic.BaseModel

Context for query storage

Parameters

data Any

Attributes

QueryStorageContext.storage_ctx

storage_ctx dict[str, Any] = None #

QueryStorageContext.storage_scheme

storage_scheme QueryStorageScheme #

QueryStorageScheme

class roboto.query.QueryStorageScheme#View Source

Bases: roboto.compat.StrEnum

A specific query result storage format/schema which can be used in combination with some context JSON to provide all information required to vend query results

Attributes

QueryStorageScheme.S3ManifestV1

S3ManifestV1 = 's3_manifest_v1' #

Query results are in S3, and a manifest file enumerates the result parts and how to resolve them into rows.

QueryTarget

class roboto.query.QueryTarget#View Source

Bases: roboto.compat.StrEnum

The type of resource a specific query is requesting.

Attributes

QueryTarget.Collections

Collections = 'collections' #

QueryTarget.Datasets

Datasets = 'datasets' #

QueryTarget.Devices

Devices = 'devices' #

QueryTarget.Events

Events = 'events' #

QueryTarget.Files

Files = 'files' #

QueryTarget.Sessions

Sessions = 'sessions' #

QueryTarget.TopicMessagePaths

TopicMessagePaths = 'topic_message_paths' #

QueryTarget.Topics

Topics = 'topics' #

SavedFilters

class roboto.query.SavedFilters(/, **data)#View Source

Bases: pydantic.BaseModel

A complete set of filter controls, as saved.

Parameters

data Any

Attributes

SavedFilters.filters

filters list[Filter] = None #

The rows, in the order the author added them.

SavedFilters.match_mode

match_mode FilterMatchMode #

Whether the rows are combined with AND or OR.

Deliberately a single flag rather than a nested boolean expression. A Condition can express arbitrary nesting, but a filter UI cannot build one legibly, so this records the shape the UI actually offers.

SavedFilters.model_config

model_config #

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

SetFilter

class roboto.query.SetFilter(/, **data)#View Source

Bases: _FilterBase

Membership in a collection-valued field, such as tags.

Has no presence axis: an empty collection is not the same as an absent one, and the UI offers no null check here.

Parameters

data Any

Attributes

SetFilter.type

type Literal['set'] = 'set' #

SetFilter.values

values list[str] = None #

SortDirection

class roboto.query.SortDirection#View Source

Bases: roboto.compat.StrEnum

The direction to sort the results of a query.

Attributes

SortDirection.Ascending

Ascending = 'ASC' #

SortDirection.Descending

Descending = 'DESC' #

SortDirection.from_string()

static from_string(value)#View Source

Parameters

value str

Return type

StringFilter

class roboto.query.StringFilter(/, **data)#View Source

SubmitRoboqlQueryRequest

class roboto.query.SubmitRoboqlQueryRequest(/, **data)#View Source

Bases: pydantic.BaseModel

Request payload to submit a RoboQL query

Parameters

data Any

Attributes

SubmitRoboqlQueryRequest.content_mode

content_mode QueryContentMode = None #

SubmitRoboqlQueryRequest.query

query str | None = None #

SubmitRoboqlQueryRequest.target

target QueryTarget = None #

SubmitStructuredQueryRequest

class roboto.query.SubmitStructuredQueryRequest(/, **data)#View Source

Bases: pydantic.BaseModel

Request payload to submit a structured query

Parameters

data Any

Attributes

SubmitStructuredQueryRequest.content_mode

content_mode QueryContentMode = None #

SubmitStructuredQueryRequest.query

SubmitStructuredQueryRequest.target

target QueryTarget = None #

SubmitTermQueryRequest

class roboto.query.SubmitTermQueryRequest(/, **data)#View Source

Bases: pydantic.BaseModel

Request payload to submit a simple term query

Parameters

data Any

Attributes

SubmitTermQueryRequest.content_mode

content_mode QueryContentMode = None #

SubmitTermQueryRequest.target

target QueryTarget = None #

SubmitTermQueryRequest.term

term str = None #

Was this page helpful?