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.
- name
Attributes Summary
Unique UUID4-based identifier for this blob (
str
).Job data as a JSON-serializable
dict
.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
- keyvaltuple
Tuple of:
key (
str
)datum (
lsst.verify.Datum
)
-
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, })