roboto.query.specification#

Module Contents#

roboto.query.specification.DEFAULT_PAGE_SIZE: int = 100#

Default page size for search.

roboto.query.specification.MAX_PAGE_SIZE: int = 1000#

Maximum allowable page size for search.

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

Bases: pydantic.BaseModel

Model for specifying a query to the Roboto Platform.

Examples

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)

after: str | None = None#

Encoded next page token. Optional.

condition: roboto.query.conditions.Condition | roboto.query.conditions.ConditionGroup | None = None#

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

fields()#

Return a set of all fields referenced in the query.

Return type:

set[str]

limit: int = 1000#

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

model_config#

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

sort_by: str | None = None#

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

sort_direction: SortDirection | None = None#

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

class roboto.query.specification.SortDirection#

Bases: roboto.compat.StrEnum

The direction to sort the results of a query.

Ascending = 'ASC'#
Descending = 'DESC'#
static from_string(value)#
Parameters:

value (str)

Return type:

SortDirection