Datum¶
- 
class 
lsst.verify.Datum(quantity=None, unit=None, label=None, description=None)¶ Bases:
lsst.verify.datum.QuantityAttributeMixin,lsst.verify.jsonmixin.JsonSerializationMixinA value annotated with units, a plot label and description.
Datum supports natively support Astropy
Quantityand units. In addition, a Datum can also wrap strings, booleans and integers. A Datums’s value can also beNone.Parameters: - quantity : 
astropy.units.Quantity,int,floator iterable. Value of the
Datum.- unit : 
str Units of
quantityas astrifquantityis not supplied as anastropy.units.Quantity. See http://docs.astropy.org/en/stable/units/. Units are not used bystr,bool,intorNonetypes.- label : 
str, optional Label suitable for plot axes (without units).
- description : 
str, optional Extended description of the
Datum.
Attributes Summary
descriptionExtended description. jsonDatum as a dictcompatible with overallJobJSON schema.labelLabel for plotting (without units). latex_unitUnits as a LaTeX string, wrapped in $.quantityValue of the datum ( astropy.units.Quantity,str,bool,None).unitRead-only astropy.units.Unitof thequantity.unit_strRead-only astropy.units.Unit-compatiblestrindicating units ofquantity.Methods Summary
deserialize([label, description, value, unit])Deserialize fields from a Datum JSON object into a Datuminstance.jsonify_dict(d)Recursively build JSON-renderable objects on all values in a dict. write_json(filepath)Write JSON to a file. Attributes Documentation
- 
description¶ Extended description.
- 
label¶ Label for plotting (without units).
- 
latex_unit¶ Units as a LaTeX string, wrapped in
$.
- 
quantity¶ Value of the datum (
astropy.units.Quantity,str,bool,None).
- 
unit¶ Read-only
astropy.units.Unitof thequantity.
- 
unit_str¶ Read-only
astropy.units.Unit-compatiblestrindicating units ofquantity.
Methods Documentation
- 
classmethod 
deserialize(label=None, description=None, value=None, unit=None)¶ Deserialize fields from a Datum JSON object into a
Datuminstance.Parameters: - value : 
float,int,bool,str, orlist Values, which may be scalars or lists of scalars.
- unit : 
strorNone An
astropy.units-compatible string with units ofvalue, orNoneif the value does not have physical units.- label : 
str, optional Label suitable for plot axes (without units).
- description : 
str, optional Extended description of the
Datum.
Returns: - datum : 
Datum Datum instantiated from provided JSON fields.
Examples
With this class method, a
Datummay be round-tripped from its JSON serialized form.>>> datum = Datum(50. * u.mmag, label='sigma', ... description="Photometric uncertainty.") >>> print(datum) sigma = 50.0 mmag Photometric uncertainty. >>> json_data = datum.json >>> new_datum = datum.deserialize(**json_data) >>> print(new_datum) sigma = 50.0 mmag Photometric uncertainty.
- value : 
 
- 
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 : 
 
- quantity :