axsdb.units¶
Unit handling components, based on the Pint library.
Note
By default, Pint’s application registry is used.
Functions:
|
Ensure that a value is wrapped in a Pint quantity container. |
Access the internal unit registry. |
|
|
Set internal unit registry. |
- axsdb.units.ensure_units(value: Any, default_units: Unit, convert: bool = False) Quantity[source]¶
Ensure that a value is wrapped in a Pint quantity container.
- Parameters:
value – Checked value.
default_units (pint.Unit) – Units to use to initialize the
pint.Quantityifvalueis not apint.Quantity.convert (bool, default: False) – If
True,valuewill also be converted todefault_unitsif it is apint.Quantity.
- Return type:
Converted
value.
- axsdb.units.get_unit_registry() UnitRegistry[source]¶
Access the internal unit registry. By default, the Pint application registry is returned.
- axsdb.units.set_unit_registry(ureg: UnitRegistry | None) None[source]¶
Set internal unit registry.
- Parameters:
ureg (pint.UnitRegistry or None) – New default unit registry. Set to
Noneto reset to the default (the application registry).
- axsdb.units.xarray_to_quantity(da: DataArray) Quantity[source]¶
Converts a
DataArrayto aQuantity. The array’sattrsmetadata mapping must contain aunitsfield.- Parameters:
da (DataArray) –
DataArrayinstance which will be converted.- Returns:
The corresponding Pint quantity.
- Return type:
quantity
- Raises:
ValueError – If array attributes do not contain a
unitsfield.
Notes
This function can also be used on coordinate variables.