lsst.verify¶
lsst.verify
is a framework for packages that measure software and data quality metrics.
A metric can be any measurable scalar quantity; some examples are in the LSST Science Requirements Document (LPM-17), though packages can also define ad hoc metrics.
Measurements made through lsst.verify
can be uploaded to LSST’s SQUASH monitoring dashboard to help you see how code development affects performance.
Contributing¶
lsst.verify
is developed at https://github.com/lsst/verify.
You can find Jira issues for this module under the verify component.
Task reference¶
Pipeline tasks¶
- ApdbMetricTask
- A base class for tasks that compute metrics from an alert production database.
- MemoryMetricTask
- A Task that computes the maximum resident set size using metadata produced by the lsst.utils.timer.timeMethod decorator.
- MetadataMetricTask
- A base class for tasks that compute metrics from single metadata objects.
- MetricTask
- A base class for tasks that compute one metric from input datasets.
- TimingMetricTask
- A Task that computes a wall-clock time using metadata produced by the lsst.utils.timer.timeMethod decorator.
Tasks¶
- ConfigApdbLoader
- A Task that takes a science task config and returns the corresponding Apdb object.
- DirectApdbLoader
- A Task that takes a Apdb config and returns the corresponding Apdb object.
Script reference¶
Python API reference¶
lsst.verify Package¶
Functions¶
output_quantities (package_name, quantities) |
Output measurements, as astropy.units.Quantity objects, from a pipeline task execution to a lsst.verify -formatted JSON file. |
Classes¶
Blob (name, **datums) |
Blob is a flexible container of data, as lsst.verify.Datum s, that are serializable to JSON. |
BlobSet ([blobs]) |
A collection of Blob s. |
Datum ([quantity, unit, label, description]) |
A value annotated with units, a plot label and description. |
Job ([measurements, metrics, specs, meta]) |
Container for Measurement s, Blob s, and Metadata associated with a pipeline run. |
Measurement (metric[, quantity, blobs, …]) |
A measurement of a single Metric . |
MeasurementNotes (metric_name) |
Container for annotations (notes) associated with a single lsst.verify.Measurement . |
MeasurementSet ([measurements]) |
A collection of Measurement s of Metric s. |
Metadata (measurement_set[, data]) |
Container for verification framework job metadata. |
MetadataQuery ([terms]) |
Query of lsst.verify.Job.meta metadata. |
Metric (name, description, unit[, tags, …]) |
Container for the definition of a metric. |
MetricSet ([metrics]) |
A collection of Metric s. |
Name ([package, metric, spec]) |
Semantic name of a package, Metric or Specification in the lsst.verify framework. |
Specification (name, **kwargs) |
Specification base class. |
SpecificationResolutionError |
Error resolving a specification document’s stated inheritance. |
SpecificationSet ([specifications, partials]) |
A collection of Specification s. |
ThresholdSpecification (name, threshold, …) |
A threshold-type specification, associated with a Metric , that defines a binary comparison against a measurement. |
VerifyError |
Base error for verify. |
VerifySpecificationError |
Error accessing or using requirement specifications. |
Class Inheritance Diagram¶
lsst.verify.bin.dispatchverify Module¶
Functions¶
build_argparser () |
|
main () |
Entrypoint for the dispatch_verify.py command line executable. |
insert_lsstsw_metadata (job, config) |
Insert metadata for lsstsw-based packages into Job.meta['packages'] . |
insert_extra_package_metadata (job, config) |
Insert metadata for extra packages (’–package-repos’) into Job.meta['packages'] . |
insert_env_metadata (job, env_name, metadata, …) |
Insert environment metadata into the Job. |
validate_date_created (date_created) |
Ensure date_created is a valid datetime string in UTC. |
Classes¶
Configuration (args) |
Configuration for dispatch_verify.py that reconciles command line and environment variable arguments. |
Class Inheritance Diagram¶
lsst.verify.extract_metricvalues Module¶
Tools for loading metric values from a butler and printing them, or from two butlers and differencing them.
These functions are used by the print_metricvalues script.
Functions¶
load_value (butler[, verbose]) |
Load all measured non-time/non-memory metrics in the given butler repo. | ||
load_timing (butler[, verbose]) |
Load all measured timing metrics in the given butler repo. | ||
load_memory (butler[, verbose]) |
Load all measured memory usage metrics in the given butler repo. | ||
print_metrics (butler, kind, *[, …]) |
Print all metrics with measured values in the given repo. | ||
print_diff_metrics (butler1, butler2[, …]) |
Load metric values from two repos and print their differences. | ||
load_from_butler (butler, query[, …]) |
|
lsst.verify.jsonmixin Module¶
Classes¶
JsonSerializationMixin |
Mixin that provides JSON serialization support to subclasses. |
lsst.verify.metadata.eupsmanifest Module¶
lsst.verify.metadata.jenkinsci Module¶
Functions¶
get_jenkins_env () |
Gather metadata entries from LSST DM Jenkins CI environment. |
lsst.verify.metadata.lsstsw Module¶
Classes¶
LsstswRepos (dirname) |
lsstsw package version information based on repos.yaml and checked out Git repositories. |
lsst.verify.squash Module¶
Functions¶
get (api_url[, api_endpoint, api_user, …]) |
GET request to the SQUASH API. |
post (api_url, api_endpoint[, json_doc, …]) |
POST a JSON document to SQUASH. |
get_endpoint_url (api_url, api_endpoint, **kwargs) |
Lookup SQUASH endpoint URL. |
reset_endpoint_cache () |
Reset the cache used by get_endpoint_url . |
get_default_timeout () |
Get the default HTTP client timeout setting. |
get_default_api_version () |
Get the default SQUASH API versioned used by the lsst.verify.squash client functions. |
make_accept_header ([version]) |
Make the Accept HTTP header for versioned SQUASH API requests. |
lsst.verify.report Module¶
Classes¶
Report (measurements, specs) |
Report tabulating specification pass/fail status for a set of lsst.verify.Measurement s. |
lsst.verify.tasks Package¶
Classes¶
AbstractMetadataMetricTask (**kwargs) |
A base class for tasks that compute metrics from metadata values. |
ApdbMetricConfig |
A base class for APDB metric task configs. |
ApdbMetricConnections (*, config) |
An abstract connections class defining a database input. |
ApdbMetricTask (**kwargs) |
A base class for tasks that compute metrics from an alert production database. |
ConfigApdbLoader (**kwargs) |
A Task that takes a science task config and returns the corresponding Apdb object. |
DirectApdbLoader (**kwargs) |
A Task that takes a Apdb config and returns the corresponding Apdb object. |
MemoryMetricConfig |
alias of lsst.verify.tasks.commonMetrics.TimeMethodMetricConfig |
MemoryMetricTask (**kwargs) |
A Task that computes the maximum resident set size using metadata produced by the lsst.utils.timer.timeMethod decorator. |
MetadataMetricConfig |
A base class for metadata metric task configs. |
MetadataMetricTask (**kwargs) |
A base class for tasks that compute metrics from single metadata objects. |
MetricComputationError |
This class represents unresolvable errors in computing a metric. |
MetricConfig |
|
MetricConnections (*, config) |
An abstract connections class defining a metric output. |
MetricTask (**kwargs) |
A base class for tasks that compute one metric from input datasets. |
SingleMetadataMetricConnections (*[, config]) |
An abstract connections class defining a metadata input. |
TimingMetricConfig |
alias of lsst.verify.tasks.commonMetrics.TimeMethodMetricConfig |
TimingMetricTask (**kwargs) |
A Task that computes a wall-clock time using metadata produced by the lsst.utils.timer.timeMethod decorator. |