code: def from_dict(cls, data):
          
          try:
              fulfillment = _fulfillment_from_details(data['condition']['details'])
          except KeyError:
              # NOTE: Hashlock condition case
              fulfillment = data['condition']['uri']
          try:
              amount = int(data['amount'])
          except ValueError:
              raise AmountError('Invalid amount: %s' % data['amount'])
          return cls(fulfillment, data['public_keys'], amount)
docs: Transforms a Python dictionary to an Output object.
  
              Note:
                  To pass a serialization cycle multiple times, a
                  Cryptoconditions Fulfillment needs to be present in the
                  passed-in dictionary, as Condition URIs are not serializable
                  anymore.
  
              Args:
                  data (dict): The dict to be transformed.
  
              Returns:
                  :class:`~bigchaindb.common.transaction.Output`