Blob

class lsst.verify.Blob(name, **datums)[source]

Bases: lsst.verify.jsonmixin.JsonSerializationMixin

Blob is a flexible container of data, as lsst.verify.Datum s, that are serializable to JSON.

Parameters:

name : str

Name of this type of blob. Blobs from one pipeline Job execution to another that share the same name generally share the same schema of lsst.verify.Datums.

datums : dict of lsst.verify.Datum-types, optional

Keys are names of datums. Values are Datum-types. Each Datum can be later retrived from the Blob instance by key.

Attributes Summary

identifier Unique UUID4-based identifier for this blob (str).
json Job data as a JSON-serializable dict.
name Name of this blob (str).

Methods Summary

deserialize([identifier, name, data]) Deserialize fields from a blob JSON object into a Blob instance.
items() Get pairs of keys and values in the Blob.
jsonify_dict(d) Recursively build JSON-renderable objects on all values in a dict.
keys() Get keys of blob items.
write_json(filepath) Write JSON to a file.

Attributes Documentation

identifier

Unique UUID4-based identifier for this blob (str).

json

Job data as a JSON-serializable dict.

name

Name of this blob (str).

Methods Documentation

classmethod deserialize(identifier=None, name=None, data=None)[source]

Deserialize fields from a blob JSON object into a Blob instance.

Parameters:

identifier : str

Blob identifier.

name : str

Name of the blob type.

data : dict

Dictionary of named name: datum object key-value pairs.

Returns:

blob : Blob

The Blob instance deserialied from a blob JSON object.

items()[source]

Get pairs of keys and values in the Blob.

Yields:

keyval : tuple

Tuple of:

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.

Returns:

json_dict : dict

Dictionary that can be serialized to JSON.

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,
    })
keys()[source]

Get keys of blob items.

Returns:

keys : sequence of str

Sequence of keys to items in the Blob.

write_json(filepath)

Write JSON to a file.

Parameters:

filepath : str

Destination file name for JSON output.