code: def get_valid_units(self, ureg, from_unit, target_unit):
          
          from_unit_variations = [from_unit.lower(), from_unit.upper()]
          target_unit_variations = [target_unit.lower(), target_unit.upper()]
          from_unit = self.get_unit(ureg, from_unit_variations)
          target_unit = self.get_unit(ureg, target_unit_variations)
          return from_unit, target_unit
docs: Returns the firt match `pint.unit.Unit` object for from_unit and
          target_unit strings from a possible variation of metric unit names
          supported by pint library.
  
          :param ureg: unit registry which units are defined and handled
          :type ureg: `pint.registry.UnitRegistry`
  
          :param from_unit: source metric unit
          :type from_unit: str
  
          :param from_unit: target metric unit
          :type from_unit: str