Source code for cis_interface.units
import pint
from cis_interface import backwards
_ureg = pint.UnitRegistry()
_ureg.define('micro_mole = 1e-6 * mole = uMol = umol')
[docs]def is_unit(ustr):
r"""Determine if a string is a valid unit.
Args:
ustr: String representation to test.
Returns:
bool: True if the string is a valid unit. False otherwise.
"""
ustr = backwards.bytes2unicode(ustr)
if ustr == 'n/a':
return True
try:
_ureg(ustr)
except pint.errors.UndefinedUnitError:
return False
return True