Job¶
- class lsst.verify.Job(measurements=None, metrics=None, specs=None, meta=None)¶
Bases:
JsonSerializationMixinContainer for
Measurements,Blobs, andMetadataassociated with a pipeline run.- Parameters:
- measurements
MeasurementSetorlistofMeasurements, optional Measurements to report in the Job.- metrics
listofMetrics or aMetricSet, optional - specs
SpecificationSetorlistofSpecifications, 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.jsonandJob.deserializeallow 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_drpmetrics are loaded. This argument is equivalent to theMetricSet.subsetmethod. Default isNone.- measurements
MeasurementSetorlistofMeasurements, 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_drpmetrics are included in theMetricSet. This argument is equivalent to theMetricSet.subsetmethod. 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.measurementsitems. 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
strorlsst.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.reportAPI 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.showmethod 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