QuantumSuccessCaveats#

class lsst.pipe.base.QuantumSuccessCaveats(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)#

Bases: Flag

Flags that add caveats to a “successful” quantum.

Quanta can be considered successful even if they do not produce some of their expected outputs (and even if they do not produce all of their expected outputs), as long as the condition is sufficiently well understood that downstream processing should succeed.

Attributes Summary

ADJUST_QUANTUM_RAISED

NoWorkFound was raised by PipelineTaskConnnections.adjustQuantum.

ALL_OUTPUTS_MISSING

No predicted outputs (except logs and metadata) were produced.

ANY_OUTPUTS_MISSING

At least one predicted output was not produced.

NO_CAVEATS

All outputs were produced and no exceptions were raised.

NO_WORK

A subclass of NoWorkFound was raised.

PARTIAL_OUTPUTS_ERROR

AnnotatedPartialOutputsError was raised by PipelineTask.runQuantum and the execution system was instructed to consider this a qualified success.

UNPROCESSABLE_DATA

UnprocessableDataError was raised by PipelineTask.runQuantum.

UPSTREAM_FAILURE_NO_WORK

UpstreamFailureNoWorkFound was raised by PipelineTask.runQuantum.

Methods Summary

concise()

Return a concise string representation of the flags.

from_adjust_quantum_no_work()

Return the set of flags appropriate for a quantum for which PipelineTaskConnections.adjustdQuantum raised NoWorkFound.

legend()

Return a dict with human-readable descriptions of the characters used in concise.

Attributes Documentation

ADJUST_QUANTUM_RAISED = 8#

NoWorkFound was raised by PipelineTaskConnnections.adjustQuantum.

This indicates that if a new QuantumGraph had been generated immediately before running this quantum, that quantum would not have even been included, because required inputs that were expected to exist by the time it was run (in the original QuantumGraph) were not actually produced.

NO_WORK and ALL_OUTPUTS_MISSING are also set whenever this flag is set.

ALL_OUTPUTS_MISSING = 2#

No predicted outputs (except logs and metadata) were produced.

ANY_OUTPUTS_MISSING is also set whenever this flag is set.

ANY_OUTPUTS_MISSING = 1#

At least one predicted output was not produced.

NO_CAVEATS = 0#

All outputs were produced and no exceptions were raised.

NO_WORK = 4#

A subclass of NoWorkFound was raised.

This does not necessarily imply that ANY_OUTPUTS_MISSING is not set, since a PipelineTask.runQuantum implementation could raise it after directly writing all of its predicted outputs.

PARTIAL_OUTPUTS_ERROR = 64#

AnnotatedPartialOutputsError was raised by PipelineTask.runQuantum and the execution system was instructed to consider this a qualified success.

UNPROCESSABLE_DATA = 32#

UnprocessableDataError was raised by PipelineTask.runQuantum.

NO_WORK is also set whenever this flag is set.

UPSTREAM_FAILURE_NO_WORK = 16#

UpstreamFailureNoWorkFound was raised by PipelineTask.runQuantum.

This exception is raised by downstream tasks when an upstream task’s outputs were incomplete in a way that blocks it from running, often because the upstream task raised AnnotatedPartialOutputsError.

NO_WORK is also set whenever this flag is set.

Methods Documentation

concise() str#

Return a concise string representation of the flags.

Returns#

sstr

Two-character string representation, with the first character indicating whether any predicted outputs were missing and the second representing any exceptions raised. This representation is not always complete; some rare combinations of flags are displayed as if only one of the flags was set.

Notes#

The legend method returns a description of the returned codes.

classmethod from_adjust_quantum_no_work() QuantumSuccessCaveats#

Return the set of flags appropriate for a quantum for which PipelineTaskConnections.adjustdQuantum raised NoWorkFound.

static legend() dict[str, str]#

Return a dict with human-readable descriptions of the characters used in concise.

Returns#

legenddict [ str, str ]

Mapping from character code to description.