Blob¶
- class lsst.verify.Blob(name, **datums)¶
Bases:
JsonSerializationMixinBlob is a flexible container of data, as
lsst.verify.Datums, 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
dictoflsst.verify.Datum-types, optional Keys are names of datums. Values are
Datum-types. EachDatumcan 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
Blobinstance.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
Blobinstance.- 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, })