MeasurementNotes

class lsst.verify.MeasurementNotes(metric_name)

Bases: object

Container for annotations (notes) associated with a single lsst.verify.Measurement.

Typically you will use pre-instantiate MeasurementNotes objects through the lsst.verify.Measurement.notes attribute.

Parameters:
metric_nameName or str

Fully qualified name of the measurement’s metric. The metric’s name is used as a prefix for key names.

Examples

MeasurementNotes implements a dict-like interface. The only difference is that, internally, keys are always prefixed with the name of a metric. This allows measurement annotations to mesh lsst.verify.Job metadata keys (lsst.verify.Job.meta).

Users of MeasurementNotes, typically though Measurement.notes, do not need to use this prefix. Keys are prefixed behind the scenes.

>>> notes = MeasurementNotes('validate_drp')
>>> notes['filter_name'] = 'r'
>>> notes['filter_name']
'r'
>>> notes['validate_drp.filter_name']
'r'
>>> print(notes)
{'validate_drp.filter_name': 'r'}

Methods Summary

items()

Iterate over note key-value pairs.

keys()

Get key names.

update(data)

Update the notes with key-value pairs from a dict-like object.

Methods Documentation

items()

Iterate over note key-value pairs.

Yields:
itemkey-value pair

Each items is tuple of:

  • Key name (str).

  • Note value (object).

keys()

Get key names.

Returns:
keyslist of str

List of key names.

update(data)

Update the notes with key-value pairs from a dict-like object.

Parameters:
datadict-like

dict-like object that has an items method for iteration. The key-value pairs of data are added to the MeasurementNotes instance. If key-value pairs already exist in the MeasurementNotes instance, they are overwritten with values from data.