django-mease: Websocket integration made easy for Django
Project description
Work in progress.
Websocket integration made easy for Django using Tornado, Redis PUB/SUB and easy to use callback registry mechanism.
See a full working example here
RTD INCOMING SHORTLY
Installation
Dependencies (Debian & Ubuntu)
Mease comes with Redis PUB/SUB backend by default. If you want to use it, install these dependencies :
sudo apt-get install redis-server python-dev pip install redis
Install django-mease
pip install django-mease
Add mease to your INSTALLED_APPS
INSTALLED_APPS = (
# List of your installed apps
'djmease',
)
Usage
Start websocket server
python manage.py run_websocket_server
Register callbacks
Create mease_registry.py files to register your callbacks (the file must be located in an installed app):
from djmease import mease
@mease.opener
def open_websocket(client, clients_list):
client.storage["name"] = "mymane"
for c in clients_list:
c.send("Someone joined")
@mease.closer
def close_websocket(client, clients_list):
for c in clients_list:
c.send("{name} left".format(name=client.storage["name"]))
@mease.receiver
def receive_websocket_message(client, clients_list, message):
for c in clients_list:
c.send(message)
@mease.sender(routing=['websocket'])
def send_websocket_message(channel, clients_list, myobj):
for c in clients_list:
c.send(myobj.myattr)
Publish
Use mease.publish to publish from anywhere in your code :
from djmease import mease
mease.publish('websocket', "Hello world !")
This will call all sender functions registered on the ‘websocket’ routing.
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
File details
Details for the file django-mease-0.2.0.tar.gz
.
File metadata
- Download URL: django-mease-0.2.0.tar.gz
- Upload date:
- Size: 3.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5a0f133164ea0ea6a04099dee36952cf9b22b6bb9e833f887b1077acbdffdd86 |
|
MD5 | 097d151f7e6ccec891e5e7ec00211440 |
|
BLAKE2b-256 | df676c11e3b07d0732a20cd11120484bbf5272c86e7dd77346201edb832f53be |