Gevent based Asynchronous WebSocket Server with HTTP APIs.
Project description
wsnotifier is a lightweight gevent based asynchronous websocket Server written in Python. wsnotifier exposes HTTP APIs for forwarding the messages to the websocket clients. This makes it easier to use the service with any web application. It’s completely written in Python and doesn’t depend on external systems like Redis for storing/retrieving messages.
Installation
You can install using pip
$ pip install git+https://github.com/semk/wsnotifier.git
Or using docker
$ docker pull semk/wsnotifier
Running wsnotifier server
$ wsnotifier Starting wsnotifier on ws://0.0.0.0:1729/alerts and http://0.0.0.0:1729/alerts
Or using docker
$ docker run -p 1729:1729 --rm -it semk/wsnotifier Starting wsnotifier on ws://0.0.0.0:1729/alerts and http://0.0.0.0:1729/alerts
Connecting to wsnotifier via a websocket client
wscat is a nice commandline websocket client. You can install it by
$ npm install -g wscat
Connect to the websocket server at ws://0.0.0.0:1729/alerts
$ wscat -c ws://localhost:1729/alerts connected (press CTRL+C to quit)
Posting messages to wsnotifier for forwarding to websocket clients.
You can use any HTTP client to send the messages. This will be forwarded to all the connected websocket clients asynchronously. A Python client for wsnotifier is available here
$ curl -X POST -H "Content-Type: application/json" -d '{"id": "unique-message-id", "type": "important", "message": "important message"}' http://0.0.0.0:1729/alerts {"status": "success"}
You can see the forwarded message appearing on the wscat client instantly.
$ wscat -c ws://localhost:1729/alerts connected (press CTRL+C to quit) < {"message": "important message", "type": "important", "id": "unique-message-id"} >
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 wsnotifier-1.0.4.tar.gz
.
File metadata
- Download URL: wsnotifier-1.0.4.tar.gz
- Upload date:
- Size: 6.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8ccd513a71e508337c6f6bd4b6850907d541f054bd59dcec146528d8ecdb145a |
|
MD5 | 36b491fe17a8cc3269086e74c2eaa892 |
|
BLAKE2b-256 | 56377d73763ba752f2a30aa13dcbe096db31ce35f48afc5efb4b72db0920f871 |