Blob#

class lsst.verify.Blob(name, **datums)#

Bases: JsonSerializationMixin

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

Parameters#

namestr

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.

datumsdict 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.

keys()

Get keys of blob items.

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)#

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

Parameters#

identifierstr

Blob identifier.

namestr

Name of the blob type.

datadict

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

Returns#

blobBlob

The Blob instance deserialied from a blob JSON object.

Examples#

This class method is designed to roundtrip JSON objects created a Blob instance. For example:

>>> import astropy.units as u
>>> blob = Blob('demo')
>>> blob['a_mag'] = Datum(28 * u.mag, label='i')
>>> json_data = blob.json
>>> new_blob = Blob.deserialize(**json_data)
items()#

Get pairs of keys and values in the Blob.

Yields#

keyvaltuple

Tuple of:

keys()#

Get keys of blob items.

Returns#

keyssequence of str

Sequence of keys to items in the Blob.