code: def send_message(target, data, auth=None, debug=False):
      
      message = data if isinstance(data, Message) else Message(body=data)
      with SendClient(target, auth=auth, debug=debug) as send_client:
          send_client.queue_message(message)
          return send_client.send_all_messages()
docs: Send a single message to AMQP endpoint.
  
      :param target: The target AMQP endpoint.
      :type target: str, bytes or ~uamqp.address.Target
      :param data: The contents of the message to send.
      :type data: str, bytes or ~uamqp.message.Message
      :param auth: The authentication credentials for the endpoint.
       This should be one of the subclasses of uamqp.authentication.AMQPAuth. Currently
       this includes:
          - uamqp.authentication.SASLAnonymous
          - uamqp.authentication.SASLPlain
          - uamqp.authentication.SASTokenAuth
       If no authentication is supplied, SASLAnnoymous will be used by default.
      :type auth: ~uamqp.authentication.common.AMQPAuth
      :param debug: Whether to turn on network trace logs. If `True`, trace logs
       will be logged at INFO level. Default is `False`.
      :type debug: bool
      :return: A list of states for each message sent.
      :rtype: list[~uamqp.constants.MessageState]