# Pysher **Repository Path**: mirrors_agronholm/Pysher ## Basic Information - **Project Name**: Pysher - **Description**: Pusher Client implemented in Python3 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-08-08 - **Last Updated**: 2026-05-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README [![PyPI version](https://badge.fury.io/py/Pysher.svg)](https://badge.fury.io/py/Pysher)[![Build Status](https://travis-ci.org/nlsdfnbch/Pysher.svg?branch=master)](https://travis-ci.org/nlsdfnbch/Pysher) Pysher ============= `pysher` is a python module for handling pusher websockets. It is based on @ekulyk's `PythonPusherClient`. This fork is meant as a continuation of the project and is actively maintained. A key difference is the dropped support for pre-3.5 Python versions. Installation ------------ Simply run `python setup.py install` - or install via pip `pip install pysher`. This module depends on websocket-client module available from: Example ------- Example of using this pusher client to consume websockets:: ```python import pysher # 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) pusher = pysher.Pusher(appkey) def my_func(*args, **kwargs): print("processing Args:", args) print("processing Kwargs:", kwargs) # 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', my_func) 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: import pusher pusher.app_id = app_id pusher.key = appkey p = pusher.Pusher() p['mychannel'].trigger('myevent', 'mydata') Thanks ------ A big thanks to @ekulyk for developing the [PythonPusherClient](https://github.com/ekulyk/PythonPusherClient) library. Copyright --------- MTI License - See LICENSE for details. Changelog --------- ## Version 0.5.0 ### Added - #14 Added support for cluster configuration, thanks t o @[Yvictor](https://github.com/Yvictor) ### Fixed - #30 Require websocket-client version 0.48 or earlier. ## Version 0.4.2 ### Fixed: - #11 Global Logger settings no longer overridden in Connection logger ## Version 0.4.0 ### Added: - #8 Add support for WebSocket over HTTP proxy, thanks to @[1tgr](https://github.com/1tgr) ## Version 0.3.0 ### Added: - #7 Auto-resubscribe to channels after reconnecting, thanks to @[pinealan](https://github.com/pinealan) ### Fixed: - #4, #5 Updated references to the library name, thanks to @[deanmaniatis](https://github.com/deanmaniatis) ## Version 0.2.0 ### Added: - #2 Allow for token generated by auth endpoint, thanks to @[wardcraigj](https://github.com/wardcraigj) - #3 Allow instantiation with custom host, thanks to @[wardcraigj](https://github.com/wardcraigj)