Pusher websocket client for python, based on Erik Kulyk's PythonPusherClient
Project description
[![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: <http://github.com/liris/websocket-client>
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: <https://github.com/pusher/pusher-http-python>
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.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)
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: <http://github.com/liris/websocket-client>
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: <https://github.com/pusher/pusher-http-python>
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.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)
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.
Source Distribution
Pysher-0.4.2.tar.gz
(7.3 kB
view hashes)
Built Distribution
Pysher-0.4.2-py3-none-any.whl
(9.8 kB
view hashes)