DeserializedBlob¶
-
class
lsst.validate.base.
DeserializedBlob
(name, id_, datums)[source]¶ Bases:
lsst.validate.base.BlobBase
A concrete Blob deserialized from JSON.
This class should only be used internally.
Attributes Summary
datums
identifier
Unique UUID4-based identifier for this blob ( str
).json
Job data as a JSON-serializable dict
.name
Methods Summary
from_json
(json_data)Construct a Blob from a JSON dataset. jsonify_dict
(d)Recursively build JSON-renderable objects on all values in a dict. register_datum
(name[, quantity, label, ...])Register a new Datum
to be contained by, and serialized via, this blob.write_json
(filepath)Write JSON to a file. Attributes Documentation
-
datums
= None¶
-
name
= None¶
Methods Documentation
-
from_json
(json_data)¶ Construct a Blob from a JSON dataset.
Parameters: json_data :
dict
Blob JSON object.
Returns: blob :
BlobBase
-typeBlob from JSON.
-
jsonify_dict
(d)¶ Recursively build JSON-renderable objects on all values in a dict.
Parameters: d :
dict
Dictionary ito 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, })
-
register_datum
(name, quantity=None, label=None, description=None, datum=None)¶ Register a new
Datum
to be contained by, and serialized via, this blob.The value of the
Datum
can either be set at registration time (with thequantity
ordatum
arguments) or later by setting the instance attribute namedname
.Values of
Datum
s can always be accessed or updated through instance attributes.The full
Datum
object can be accessed as items of thedatums
dictionary attached to this class. This method is useful for accessing or updating metadata about aDatum
, such as:unit
,label
, ordescription
.Parameters: name :
str
value : obj
Value of the
Datum
.label :
str
, optionalLabel suitable for plot axes (without units). By default the
name
is used as thelabel
. Setting this label argument overrides this default.description :
str
, optionalExtended description.
datum :
Datum
, optionalIf a
Datum
is provided, its value, units and label will be used unless overriden by other arguments toregister_datum
.
-