Blob¶
-
class
lsst.verify.
Blob
(name, **datums)¶ 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.Datum
s.- datums :
dict
oflsst.verify.Datum
-types, optional Keys are names of datums. Values are
Datum
-types. EachDatum
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
Methods Documentation
-
classmethod
deserialize
(identifier=None, name=None, data=None)¶ Deserialize fields from a blob JSON object into a
Blob
instance.Parameters: Returns: 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: - keyval : tuple
Tuple of:
- key (
str
) - datum (
lsst.verify.Datum
)
- key (
-
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.
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, })
- d :
- name :