roboto.experimental.topics.operations#
Module Contents#
- class roboto.experimental.topics.operations.FieldAddress(/, **data)#
Bases:
pydantic.BaseModelAddresses a schema field, and the subtree nested under it, by exactly one of two forms.
A
pathnames the field by itspath_in_schemacomponents directly (no string delimiter, so a component may itself contain a.); afield_idnames it opaquely and resolves server-side to the same path. Either form designates the field and every field nested under it.- Parameters:
data (Any)
- field_id: str | None = None#
The field’s opaque id (
sf_*).
- model_config#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- path: tuple[str, Ellipsis] | None = None#
The field’s
path_in_schemacomponents;()addresses the schema root.
- class roboto.experimental.topics.operations.ReadPlanRequest(/, **data)#
Bases:
pydantic.BaseModelThe body of a read-plan request: the logical read question to resolve into a physical plan.
- Parameters:
data (Any)
- end_time: int#
Inclusive window upper bound, absolute Unix-epoch nanoseconds.
- fields_exclude: tuple[FieldAddress, Ellipsis] | None = None#
Field subtrees to drop from the projection;
Nonedrops none.
- fields_include: tuple[FieldAddress, Ellipsis] | None = None#
Field subtrees to project;
Noneprojects every field.
- model_config#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- prefer: RepresentationPreference | None = None#
Per-subtree representation preference;
Noneapplies default selection everywhere.
- schema_checksum: str | None = None#
Schema to use, by checksum, or
None.
- schema_id: str | None = None#
Schema to use, by id, or
Noneto default to the sole in-window schema.
- start_time: int#
Inclusive window lower bound, absolute Unix-epoch nanoseconds.
- timeline_source_id: str | None = None#
Timeline source to resolve partition extents with, by id, or
None.
- timeline_source_name: str | None = None#
Timeline source to resolve partition extents with, by name, or
None.
- class roboto.experimental.topics.operations.RepresentationOverride(/, **data)#
Bases:
pydantic.BaseModelApplies a representation selector to one field subtree, overriding the request default.
- Parameters:
data (Any)
- field: FieldAddress#
The subtree this override scopes to.
- model_config#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- selector: roboto.experimental.topics.record.RepresentationSelector#
The selector to apply within that subtree.
- class roboto.experimental.topics.operations.RepresentationPreference(/, **data)#
Bases:
pydantic.BaseModelSelects which stored variant of each field to read, per subtree.
A
defaultselector applies to every field unless a more specificoverridecovers it. Where several overrides cover a field, the one whose addressed subtree is the longest prefix of the field’s path wins; this rule isselector_for().The governing selector and its matching rule are contract: a selector never substitutes a non-matching variant, and a read fails when a selector that sets any criterion is satisfied by no stored representation for a requested field — the plan never silently omits a field an explicit requirement covers. Which of the representations that satisfy the selector the service ultimately schedules is service policy and may change between releases.
- Parameters:
data (Any)
- default: roboto.experimental.topics.record.RepresentationSelector#
The selector applied to any field no override covers; matches anything when unset.
- model_config#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- overrides: tuple[RepresentationOverride, Ellipsis] = ()#
Per-subtree selector overrides, resolved longest-matching-prefix wins.
- selector_for(field_path)#
Resolve the selector that governs the field at
field_path, longest-matching-prefix wins.An override applies when its addressed subtree path is a prefix of
field_path; among applicable overrides the deepest subtree wins, and a field no override covers getsdefault.- Parameters:
field_path (tuple[str, Ellipsis]) – The
path_in_schemacomponents of the field whose selector is being resolved.- Returns:
The governing selector.
- Raises:
ValueError – An override addresses its subtree by
field_id. Resolving afield_idto a path takes the schema, which this value object does not hold; resolve every override address to itspathform first.- Return type: