Skip to main content

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)

Project details


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 details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

Pysher-0.4.2-py3-none-any.whl (9.8 kB view details)

Uploaded Python 3

File details

Details for the file Pysher-0.4.2.tar.gz.

File metadata

  • Download URL: Pysher-0.4.2.tar.gz
  • Upload date:
  • Size: 7.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for Pysher-0.4.2.tar.gz
Algorithm Hash digest
SHA256 26f806f61270f69d779ce1018b8f9daef044beb19a2bd752e1dba49af36c0ed7
MD5 3cbb18544757ed7a494801e08d6bce52
BLAKE2b-256 2da8b46042c12da6ad5eeefcbb1077fb8127a7e097c8e1e8412e906da2a4fec3

See more details on using hashes here.

File details

Details for the file Pysher-0.4.2-py3-none-any.whl.

File metadata

File hashes

Hashes for Pysher-0.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d179242af153e173053dd57d5903924f78724ae242058b40a3652b42f16c677c
MD5 1be09e3d6df6e5f0283dea0f14c230b7
BLAKE2b-256 ea9fbe255fbe711fcb97255ef23ce5a643cdec08467bf082559c23a62838e069

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page