pipeline.infrastructure.pipelineqa

The pipelineqa module contains base classes and plugin registry for the pipeline’s QA framework.

This module contains four key classes:

  • QAScore: the base class for QA scores

  • QAScorePool: the container for lists of QAScores

  • QAPlugin: the base class for task-specific QA handlers

  • QARegistry: the registry and manager for QA plug-ins

Tasks provide and register their own QA handlers that each extends QAPlugin. These QA handlers analyse the results of a task, in the process adding QA scores to the Result for display in the web log.

The pipeline QA framework is activated whenever a Results instance is accepted into the pipeline context. The pipeline QA framework operates by calling is_handler_for(result) on each registered QAPlugin, passing it the the accepted Results instance for inspection. QAPlugins that claim to handle the Result are given the Result for processing. In this step, the QA framework calls QAPlugin.handle(context, result), the method overridden by the task-specific QAPlugin.

Classes

QAOrigin(metric_name, metric_score, metric_units)

QAPlugin()

QAPlugin is the mandatory base class for all pipeline QA handlers.

QARegistry()

The registry and manager of the pipeline QA framework.

QAScore(score[, longmsg, shortmsg, vis, …])

QAScorePool()

TargetDataSelection(session, vis, scan, spw, …)

TargetDataSelection is a struct to hold data selection metadata.

WebLogLocation(value)

WebLogLocation is an enumeration attached to each QA score, specifying where in the web log this QA score should be included.