code: def from_wei(number: int, unit: str) -> Union[int, decimal.Decimal]:
      
      if unit.lower() not in units:
          raise ValueError(
              "Unknown unit.  Must be one of {0}".format("/".join(units.keys()))
          )
  
      if number == 0:
          return 0
  
      if number < MIN_WEI or number > MAX_WEI:
          raise ValueError("value must be between 1 and 2**256 - 1")
  
      unit_value = units[unit.lower()]
  
      with localcontext() as ctx:
          ctx.prec = 999
          d_number = decimal.Decimal(value=number, context=ctx)
          result_value = d_number / unit_value
  
      return result_value
docs: Takes a number of wei and converts it to any other ether unit.