Job¶
- class lsst.verify.Job(measurements=None, metrics=None, specs=None, meta=None)¶
Bases:
JsonSerializationMixin
Container for
Measurement
s,Blob
s, andMetadata
associated with a pipeline run.- Parameters:
- measurements
MeasurementSet
orlist
ofMeasurement
s, optional Measurement
s to report in the Job.- metrics
list
ofMetric
s or aMetricSet
, optional - specs
SpecificationSet
orlist
ofSpecification
s, optional Optional specification information.
- meta
dict
, optional Optional dictionary of metadata key-value entries.
- measurements
Attributes Summary
Measurements associated with the pipeline verification job (
MeasurementSet
).Metadata mapping (
Metadata
).Metrics associated with the pipeline verification job (
MetricSet
).Specifications associated with the pipeline verifification job (
SpecificationSet
).Methods Summary
deserialize
([measurements, blobs, metrics, ...])Deserialize a Verification Framework Job from a JSON serialization.
dispatch
([api_user, api_password, api_url])POST the job to SQUASH, LSST Data Management's metric dashboard.
jsonify_dict
(d)Recursively build JSON-renderable objects on all values in a dict.
load_metrics_package
([package_name_or_path, ...])Create a Job with metrics and specifications pre-loaded from a Verification Framework metrics package, such as verify_metrics.
reload_metrics_package
([...])Load a metrics package and add metric and specification definitions to the Job, as well as the collected measurements.
report
([name, spec_tags, metric_tags])Create a verification report that lists the pass/fail status of measurements against specifications in this job.
write
(filename)Write a JSON serialization to the filesystem.
write_json
(filepath)Write JSON to a file.
Attributes Documentation
- measurements¶
Measurements associated with the pipeline verification job (
MeasurementSet
).
- specs¶
Specifications associated with the pipeline verifification job (
SpecificationSet
).
Methods Documentation
- classmethod deserialize(measurements=None, blobs=None, metrics=None, specs=None, meta=None)¶
Deserialize a Verification Framework Job from a JSON serialization.
- Parameters:
- Returns:
Examples
Together,
Job.json
andJob.deserialize
allow a verification job to be serialized and later re-instantiated.>>> import json >>> job = Job() >>> json_str = json.dumps(job.json) >>> json_obj = json.loads(json_str) >>> new_job = Job.deserialize(**json_obj)
- dispatch(api_user=None, api_password=None, api_url='https://squash-restful-api.lsst.codes', **kwargs)¶
POST the job to SQUASH, LSST Data Management’s metric dashboard.
- Parameters:
- api_url
str
, optional Root URL of the SQUASH API server.
- api_user
str
, optional API username.
- api_password
str
, optional API password.
- **kwargsoptional
Additional keyword arguments passed to
lsst.verify.squash.post
.
- api_url
- Returns:
- outputresponse
The response from the POST request to the SQuaSH API
- 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, })
- classmethod load_metrics_package(package_name_or_path='verify_metrics', subset=None, measurements=None, meta=None)¶
Create a Job with metrics and specifications pre-loaded from a Verification Framework metrics package, such as verify_metrics.
- Parameters:
- package_name_or_path
str
, optional Name of an EUPS package that hosts metric and specification definition YAML files or the file path to a metrics package.
'verify_metrics'
is the default package, and is where metrics and specifications are defined for most LSST Science Pipelines packages.- subset
str
, optional If set, only metrics and specification for this package are loaded. For example, if
subset='validate_drp'
, onlyvalidate_drp
metrics are loaded. This argument is equivalent to theMetricSet.subset
method. Default isNone
.- measurements
MeasurementSet
orlist
ofMeasurement
s, optional Measurements to report in the Job.
- meta
dict
, optional Optional dictionary of metadata key-value entries to include in the Job.
- package_name_or_path
- Returns:
- reload_metrics_package(package_name_or_path='verify_metrics', subset=None)¶
Load a metrics package and add metric and specification definitions to the Job, as well as the collected measurements.
- Parameters:
- package_name_or_path
str
, optional Name of an EUPS package that hosts metric and specification definition YAML files or the file path to a metrics package.
'verify_metrics'
is the default package, and is where metrics and specifications are defined for most packages.- subset
str
, optional If set, only metrics and specification for this package are loaded. For example, if
subset='validate_drp'
, onlyvalidate_drp
metrics are included in theMetricSet
. This argument is equivalent to theMetricSet.subset
method. Default isNone
.
- package_name_or_path
Notes
This method is useful for loading metric and specification definitions into a job that was created without this information. In addition to being added to
Job.metrics
, metrics are also attached toJob.measurements
items. This ensures that measurement values are normalized into the units of the metric definition when a Job is serialized.
- report(name=None, spec_tags=None, metric_tags=None)¶
Create a verification report that lists the pass/fail status of measurements against specifications in this job.
In a Jupyter notebook, this report can be shown as an inline table.
- Parameters:
- name
str
orlsst.verify.Name
, optional A package or metric name to subset specifications by. When set, only measurement and specification combinations belonging to that package or metric are included in the report.
- spec_tagssequence of
str
, optional A set of specification tag strings. when given, only specifications that have all the given tags are included in the report. For example,
spec_tags=['LPM-17', 'minimum']
.- metric_tagssequence of
str
, optional A set of metric tag strings. When given, only specifications belonging to metrics that posess all given tags are included in the report. For example,
metric_tags=['LPM-17', 'photometry']
selects sepifications that have both the'LPM-17'
and'photometry'
tags.
- name
- Returns:
- report
lsst.verify.Report
Report instance. In a Jupyter notebook, you can view the report by calling
Report.show
.
- report
See also
Notes
This method uses the
lsst.verify.SpecificationSet.report
API to create thelsst.verify.Report
, automatically inserting theJob
‘s measurements and metadata for filtering specifiation tests.In a Jupyter notebook environment, use the
lsst.verify.Report.show
method to view an interactive HTML table.job = lsst.verify.Job() # ... report = job.report() report.show()
- write(filename)¶
Write a JSON serialization to the filesystem.
- Parameters:
- filename
str
Name of the JSON file (including directories). This name should be unique among all task executions in a pipeline. The recommended extension is
'.verify.json'
. This convention is used by post-processing tools to discover verification framework outputs.
- filename