Specification¶
- class lsst.verify.Specification(name, **kwargs)¶
Bases:
JsonSerializationMixinSpecification base class.
Specification classes must implement:
Subclasses should also call
Specification.__init__to initialize the specificationsnameattribute (aNameinstance).Attributes Summary
dictthat can be serialized as semantic JSON, compatible with the SQUASH metric service.Name of the metric this specification corresponds to (
lsst.verify.Name).Specification name (
lsst.verify.Name).Specification type (
str).Methods Summary
check(measurement)Check if a measurement passes this specification.
jsonify_dict(d)Recursively build JSON-renderable objects on all values in a dict.
query_metadata(metadata[, arg_driven])Query a Job's metadata to determine if this specification applies.
write_json(filepath)Write JSON to a file.
Attributes Documentation
- metric_name¶
Name of the metric this specification corresponds to (
lsst.verify.Name).
- name¶
Specification name (
lsst.verify.Name).
Methods Documentation
- abstract check(measurement)¶
Check if a measurement passes this specification.
- static jsonify_dict(d)¶
Recursively build JSON-renderable objects on all values in a dict.
- Parameters:
- d
dict Dictionary to convert into a JSON-serializable object. Values are recursively JSON-ified.
- d
- Returns:
- json_dict
dict Dictionary that can be serialized to JSON.
- json_dict
Examples
Subclasses can use this method to prepare output in their
json-method implementation. For example:def json(self): return JsonSerializationMixin.jsonify_dict({ 'value': self.value, })
- query_metadata(metadata, arg_driven=False)¶
Query a Job’s metadata to determine if this specification applies.
- Parameters:
- metadata
lsst.verify.Metadataordict-type Metadata mapping. Typically this is the
lsst.verify.Job.metaattribute.- arg_driven
bool, optional If
False(default),metadatamatches theMetadataQueryifmetadatahas all the terms defined inMetadataQuery, and those terms match. Ifmetadatahas more terms thanMetadataQuery, it can still match. This behavior is appropriate for finding if a specification applies to a Job given metadata.If
True, the orientation of the matching is reversed. Nowmetadatamatches theMetadataQueryifMetadataQueryhas all the terms defined inmetadataand those terms match. IfMetadataQueryhas more terms thanmetadata, it can still match. This behavior is appropriate for discovering specifications.
- metadata
- Returns:
See also