redis pubsub websocket proxy
Project description
socker runs as a single-process service, using asyncio for non-blocking I/O.
socker uses a single redis pubsub channel, and has its own channel subscription logic, this means that you may share redis database with other applications.
socker runs as a single-process service. socker opens up a websocket server port and establishes a redis connection. The redis connection creates a subscription on the socker channel.
Installation
pip install socker
Usage
$ socker -h
Start the socker websocket server
Usage:
socker [options]
socker -? | --help
socker --version
Options:
-i INTERFACE Listening interface [default: localhost]
-p PORT Listening port [default: 8765]
-v Enable verbose output
--redis-host=HOST Redis host [default: localhost]
--redis-port=PORT Redis port [default: 6379]
--redis-db=DB Redis database [default: 0]
--redis-password=PASSWORD Redis password
--logto FILE Log output to FILE instead of console
--version show version
-? --help Show this screen
To publish a message to socker from another application:
from socker import Message
channel = 'foo.bar.42'
data = {
'yes': [
'yes',
'no',
'baz'
]
}
redis_client.publish('socker', Message(channel, data))
Any websocket clients subscribed to
foo.*
foo.bar.*
foo.bar.42
will receive that message.
Releasing a new version to PyPi
Bump the version in VERSION.
Commit the change and tag it with the new version identifier.
Build a source distribution: python setup.py sdist.
Build a wheel: python setup.py bdist_wheel.
Upload the built distribution using Twine: twine upload dist/*.
Thanks
Thanks to
for their brilliant asyncio packages.
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.