Pusher websocket client for python
Project description
[![Build Status](https://travis-ci.org/bartbroere/PythonPusherClient.svg?branch=master)](https://travis-ci.org/bartbroere/PythonPusherClient)
pusherclientb
pusherclientb is a python module for handling pusher websockets. This is a branched off version of the original (pusherclient) by Erik Kulyk. It is fully backwards compatible, and in addition provides decoded messages and custom arguments in the callback.
Installation
Simply run “python setup.py install”.
This module depends on websocket-client module available from: <http://github.com/liris/websocket-client>
Example
Example of using this pusher client to consume websockets:
import pusherclient # Add a logging handler so we can see the raw communication data import logging root = logging.getLogger() root.setLevel(logging.INFO) ch = logging.StreamHandler(sys.stdout) root.addHandler(ch) global pusher # We can't subscribe until we've connected, so we use a callback handler # to subscribe when able def connect_handler(data): channel = pusher.subscribe('mychannel') channel.bind('myevent', callback) pusher = pusherclient.Pusher(appkey) pusher.connection.bind('pusher:connection_established', connect_handler) pusher.connect() while True: # Do other things in the meantime here... time.sleep(1)
Sending pusher events to a channel can be done simply using the pusher client supplied by pusher. You can get it here: <http://github.com/newbamboo/pusher_client_python>
import pusher pusher.app_id = app_id pusher.key = appkey
p = pusher.Pusher() p[‘mychannel’].trigger(‘myevent’, ‘mydata’)
Thanks
Built using the websocket-client module from <http://github.com/liris/websocket-client>. The ruby gem by Logan Koester which provides a similar service was also very helpful for a reference. Take a look at it here: <http://github.com/logankoester/pusher-client>.
Copyright
MIT License - See LICENSE for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.