Skip to content
Python implementation of socket.io-emitter
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
sample
socket_io_emitter Bump version. May 27, 2018
tests
.gitattributes
.gitignore
.travis.yml
COPYING Add license related files. May 5, 2018
MANIFEST.in Add license related files. May 5, 2018
NOTICE
README.rst
UNLICENSE
requirements.testing.txt Update dependencies for tests. May 4, 2018
requirements.txt
setup.cfg
setup.py More dynamic setup file. May 5, 2018
tox.ini Run tests in different envs. with tox. May 4, 2018

README.rst

socket.io-python-emitter

https://travis-ci.org/ziyasal/socket.io-python-emitter.svg?branch=master

A Python implementation of socket.io-emitter.

socket.io provides a hook point to easily allow you to emit events to browsers from anywhere so socket.io-python-emitter communicates with socket.io servers through redis.

We made some changes, compatible socket.io-redis 0.2.0 and socket.io 0.1.4.

How to use

Install via pip

pip install socket.io-emitter
from socket_io_emitter import Emitter

io=Emitter({'host': 'localhost', 'port':6379})
io.Emit('broadcast event','Hello from socket.io-python-emitter')

API

Emitter(opts)

The following options are allowed:

  • client: is a redis-py compatible client
    This argument is optional.
  • key: the name of the key to pub/sub events on as prefix (socket.io)
  • host: host to connect to redis on (localhost)
  • port: port to connect to redis on (6379)

If you don't want to supply a redis client object, and want socket.io-python-emitter to initialize one for you, make sure to supply the host and port options.

Specifies a specific room that you want to emit to.

Emitter#In(room):Emitter

io=Emitter({'host': 'localhost', 'port':6379})
io.In("room-name").Emit("news","Hello from python emitter");

Emitter#To(room):Emitter

io=Emitter({'host': 'localhost', 'port':6379})

io.To("room-name").Emit("news","Hello from python emitter");

We are flattening the room parameter from [] and *argv, so you can also send to several rooms like this (both examples are valid).

io=Emitter({'host': 'localhost', 'port':6379})

io.To(["room1", "room2"]).Emit("news","Hello from python emitter");
io.To("room1", "room2").Emit("news","Hello from python emitter");

Emitter#Of(namespace):Emitter

Specifies a specific namespace that you want to emit to.

io=Emitter({'host': 'localhost', 'port':6379})

io.Of("/nsp").In("room-name").Emit("news","Hello from python emitter");

Open Source Projects in Use

@ziλasal & @abdullahselek

You can’t perform that action at this time.