roboto.query.api#

Module Contents#

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

Bases: pydantic.BaseModel

Context for a query

Parameters:

data (Any)

query: dict[str, Any] = None#
query_scheme: QueryScheme#
class roboto.query.api.QueryRecord(/, **data)#

Bases: pydantic.BaseModel

A wire-transmissible representation of a query.

Parameters:

data (Any)

modified: datetime.datetime = None#
org_id: str = None#
query_ctx: QueryContext = None#
query_id: str = None#
result_count: int = None#
status: QueryStatus = None#
submitted: datetime.datetime = None#
submitted_by: str = None#
target: QueryTarget = None#
class roboto.query.api.QueryScheme#

Bases: str, enum.Enum

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

QuerySpecV1 = 'query_spec_v1'#

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

class roboto.query.api.QueryStatus#

Bases: enum.Enum

The query lifecycle state of a given query.

Failed = 'failed'#

Indicates the query failed to execute.

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.

Scheduled = 'scheduled'#

Indicates the query is scheduled for execution.

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

Bases: pydantic.BaseModel

Context for query storage

Parameters:

data (Any)

storage_ctx: dict[str, Any] = None#
storage_scheme: QueryStorageScheme#
class roboto.query.api.QueryStorageScheme#

Bases: str, enum.Enum

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

S3ManifestV1 = 's3_manifest_v1'#

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

class roboto.query.api.QueryTarget#

Bases: str, enum.Enum

The type of resource a specific query is requesting.

Collections = 'collections'#
Datasets = 'datasets'#
Events = 'events'#
Files = 'files'#
TopicMessagePaths = 'topic_message_paths'#
Topics = 'topics'#
class roboto.query.api.SubmitRoboqlQueryRequest(/, **data)#

Bases: pydantic.BaseModel

Request payload to submit a RoboQL query

Parameters:

data (Any)

query: str | None = None#
target: QueryTarget = None#
class roboto.query.api.SubmitStructuredQueryRequest(/, **data)#

Bases: pydantic.BaseModel

Request payload to submit a structured query

Parameters:

data (Any)

query: roboto.query.specification.QuerySpecification = None#
target: QueryTarget = None#
class roboto.query.api.SubmitTermQueryRequest(/, **data)#

Bases: pydantic.BaseModel

Request payload to submit a simple term query

Parameters:

data (Any)

target: QueryTarget = None#
term: str = None#