# Use pipe.base.*DatasetConfig in MetricTask configs

XMLWordPrintable

## Details

• Type: Story
• Status: Done
• Resolution: Done
• Fix Version/s: None
• Component/s:
• Labels:
None
• Story Points:
4
• Sprint:
AP S19-2
• Team:

## Description

Currently, the classes in lsst.verify.compatibility do not use any Gen 3 elements, including lsst.pipe.base.InputDatasetConfig and lsst.pipe.base.OutputDatasetConfig. However, Christopher Waters suggested that these config classes can be used in Gen 2 task configs without inadvertent side effects. Adopting them as part of the MetricTask API now will make it much easier to transition to Gen 3.

This ticket covers the following work:

• Update MetricTask documentation to require that subclasses use *DatasetConfig appropriately.
• Rewrite MetricTask input/output methods to use the configs in a way that is compatible with Gen 2 repositories.
• Rewrite TimingMetricTask (and any other extant MetricTasks) in terms of *DatasetConfig. This should reduce the amount of source code at the cost of an extra config field.

## Activity

Hide
Krzysztof Findeisen added a comment -

Hi Christopher Waters, would you be willing to review this 100-line change? This is Gen 2 use of InputDatasetConfig, with the expectation that individual MetricTask subclasses can be migrated or adapted to Gen 3 later (ideally, migration would just be a matter of switching their base class to a Gen 3 MetricTask, once it exists).

Show
Krzysztof Findeisen added a comment - Hi Christopher Waters , would you be willing to review this 100-line change? This is Gen 2 use of InputDatasetConfig , with the expectation that individual MetricTask subclasses can be migrated or adapted to Gen 3 later (ideally, migration would just be a matter of switching their base class to a Gen 3 MetricTask , once it exists).
Hide
Christopher Waters added a comment -

Looks good.

Beware of potential code changes before this is converted to a full pipelineTask, but that's just a warning that the Gen3 code is not totally finalized.

Show
Christopher Waters added a comment - Looks good. Beware of potential code changes before this is converted to a full pipelineTask, but that's just a warning that the Gen3 code is not totally finalized.
Hide
Krzysztof Findeisen added a comment -

I know, but I figure if the configs are stable enough to use in major tasks, then adopting them now will be less work than trying to retrofit them later. Thanks for the review!

Show
Krzysztof Findeisen added a comment - I know, but I figure if the configs are stable enough to use in major tasks, then adopting them now will be less work than trying to retrofit them later. Thanks for the review!

## People

• Assignee:
Krzysztof Findeisen
Reporter:
Krzysztof Findeisen
Reviewers:
Christopher Waters
Watchers:
Christopher Waters, Krzysztof Findeisen