Skip to main content

decentriq_platform.archv2.materialization

Functions

build_create_materialization

def build_create_materialization(
source: MaterializationSource,
dataset: MaterializationDataset,
)> 'CreateMaterialization'

Assemble the ddc CreateMaterialization input that the enclave signs into a Materialization. createdBy/sourceActionId are derived and stamped by the enclave, so they are deliberately absent here.

Classes

MaterializationDataset

MaterializationDataset(
name_template: str,
owners: List[str],
readers: List[str] = <factory>,
zip_path: Optional[str] = None,
)

The owned Dataset a materialization produces (the target).

Parameters:

  • name_template: Name for the produced Dataset, rendered enclave-side. {yyyy}/{mm}/{dd}/{q} expand from the enclave clock and {run_id} is the firing's run id from the MaterializeJobResult request.
  • owners: User ids granted Owner on the produced Dataset's key; at least one is required.
  • readers: User ids granted read access on the produced Dataset's key.
  • zip_path: Extract a single file from the result's zip at this path; None materializes the result bytes as-is.

MaterializationSource

MaterializationSource(
dcr_id: str,
action: Union[JSONType, object],
task_name: str,
result_selector: str = 'success',
)

The completed DCR compute result a materialization reads from.

Parameters:

  • dcr_id: Source DataRoom whose completed result is materialized.
  • action: The DCR compute action that produces the result — a ddc DataRoomComputeAction (pydantic) or its camelCase JSON dict.
  • task_name: GlobalName of the task in the source compute graph.
  • result_selector: Which result of the action to materialize.