ProvenanceQuantumScanModels#
- class lsst.pipe.base.quantum_graph.ProvenanceQuantumScanModels(quantum_id: ~uuid.UUID, status: ~lsst.pipe.base.quantum_graph._provenance.ProvenanceQuantumScanStatus = ProvenanceQuantumScanStatus.INCOMPLETE, attempts: list[~lsst.pipe.base.quantum_graph._provenance.ProvenanceQuantumAttemptModel] = <factory>, output_existence: dict[~uuid.UUID, bool] = <factory>, metadata: ~lsst.pipe.base.quantum_graph._provenance.ProvenanceTaskMetadataModel = <factory>, logs: ~lsst.pipe.base.quantum_graph._provenance.ProvenanceLogRecordsModel = <factory>)#
Bases:
objectA struct that represents provenance information for a single quantum.
Attributes Summary
Provenance information about each attempt to run the quantum.
Log records for each attempt.
Task metadata information for each attempt.
Unique IDs of the output datasets mapped to whether they were actually produced.
Unique ID for the quantum.
Combined status for the scan and the execution of the quantum.
Methods Summary
from_metadata_and_logs(predicted, metadata, ...)Construct provenance information from task metadata and logs.
to_scan_data(predicted_quantum[, compressor])Convert these models to JSON data.
Attributes Documentation
- attempts: list[ProvenanceQuantumAttemptModel] = <dataclasses._MISSING_TYPE object>#
Provenance information about each attempt to run the quantum.
- logs: ProvenanceLogRecordsModel = <dataclasses._MISSING_TYPE object>#
Log records for each attempt.
- metadata: ProvenanceTaskMetadataModel = <dataclasses._MISSING_TYPE object>#
Task metadata information for each attempt.
- output_existence: dict[UUID, bool] = <dataclasses._MISSING_TYPE object>#
Unique IDs of the output datasets mapped to whether they were actually produced.
- quantum_id: UUID = <dataclasses._MISSING_TYPE object>#
Unique ID for the quantum.
- status: ProvenanceQuantumScanStatus = 1#
Combined status for the scan and the execution of the quantum.
Methods Documentation
- classmethod from_metadata_and_logs(predicted: PredictedQuantumDatasetsModel, metadata: TaskMetadata | None, logs: ButlerLogRecords | None, *, incomplete: bool = False) ProvenanceQuantumScanModels#
Construct provenance information from task metadata and logs.
Parameters#
- predicted
PredictedQuantumDatasetsModel Information about the predicted quantum.
- metadata
TaskMetadataorNone Task metadata.
- logs
lsst.daf.butler.logging.ButlerLogRecordsorNone Task logs.
- incomplete
bool, optional If
True, treat execution failures as possibly-incomplete quanta and do not fully process them; instead just set the status toProvenanceQuantumScanStatus.ABANDONEDand return.
Returns#
- scan_models
ProvenanceQuantumScanModels Struct of models that describe quantum provenance.
Notes#
This method does not necessarily fully populate the
output_existencefield; it does what it can given the information in the metadata and logs, but the caller is responsible for filling in the existence status for any predicted outputs that are not present at all in thatdict.- predicted
- to_scan_data(predicted_quantum: PredictedQuantumDatasetsModel, compressor: Compressor | None = None) ProvenanceQuantumScanData#
Convert these models to JSON data.
Parameters#
- predicted_quantum
PredictedQuantumDatasetsModel Information about the predicted quantum.
- compressor
Compressor Object that can compress bytes.
Returns#
- scan_data
ProvenanceQuantumScanData Scan information ready for serialization.
- predicted_quantum