roboto.query.specification#

Module Contents#

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

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: str, enum.Enum

The direction to sort the results of a query.

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

value (str)

Return type:

SortDirection