flexmeasures.data.schemas.units
Classes
- class flexmeasures.data.schemas.units.QuantityField(to_unit: str, *args, default_src_unit: str | None = None, return_magnitude: bool = False, **kwargs)
Marshmallow/Click field for validating quantities against a unit registry.
The FlexMeasures unit registry is based on the pint library.
- For example:
>>> percentage_field = QuantityField("%", validate=validate.Range(min=0, max=1)) >>> percentage_field.deserialize("2.5%") <Quantity(2.5, 'percent')> >>> percentage_field.deserialize(0.025) <Quantity(2.5, 'percent')> >>> power_field = QuantityField("kW", validate=validate.Range(max=ur.Quantity("1 kW"))) >>> power_field.deserialize("120 W") <Quantity(0.12, 'kilowatt')>
- __init__(to_unit: str, *args, default_src_unit: str | None = None, return_magnitude: bool = False, **kwargs)
- _deserialize(value, attr, obj, return_magnitude: bool | None = None, **kwargs) ur.Quantity
Turn a quantity describing string into a Quantity.
- _serialize(value, attr, data, **kwargs)
Turn a Quantity into a string in scientific format.