text: ###############################################################################
  ##
  ##  Copyright (C) 2014, Tavendo GmbH and/or collaborators. All rights reserved.
  ##
  ##  Redistribution and use in source and binary forms, with or without
  ##  modification, are permitted provided that the following conditions are met:
  ##
  ##  1. Redistributions of source code must retain the above copyright notice,
  ##     this list of conditions and the following disclaimer.
  ##
  ##  2. Redistributions in binary form must reproduce the above copyright notice,
  ##     this list of conditions and the following disclaimer in the documentation
  ##     and/or other materials provided with the distribution.
  ##
  ##  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  ##  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  ##  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  ##  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
  ##  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  ##  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  ##  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  ##  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  ##  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  ##  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  ##  POSSIBILITY OF SUCH DAMAGE.
  ##
  ###############################################################################
  
  
  import ssl
  import crossbarconnect
  
  
  if __name__ == '__main__':
  
      # create a new Crossbar.io push client (once)
      #
      context = ssl._create_unverified_context() # we're using self-signed certs, so disable cert checking
      client = crossbarconnect.Client("https://127.0.0.1:8080/publish", context = context)
  
      # publish an event without payload
      #
      client.publish("com.myapp.topic1")
  
      # publish an event with (positional) payload and get publication ID
      #
      event_id = client.publish("com.myapp.topic1", "Hello, world!", 23)
      print("event published with ID {0}".format(event_id))
  
      # publish 5 events with complex payload
      #
      for i in range(5):
          client.publish("com.myapp.topic1", i, sq=i * i, msg="Hello, world!")
  