Skip to content

bugthesystem/socket.io-python-emitter

Repository files navigation

socket.io-python-emitter

image

image

image

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

About

Python implementation of socket.io-emitter that provides a hook point to easily allow you to emit events to browsers from anywhere 🚀

Topics

Resources

License

Unlicense, MIT licenses found

Licenses found

Unlicense
UNLICENSE
MIT
COPYING

Stars

Watchers

Forks

Packages

No packages published

Languages