Skip to main content

Websocket to message broker gateway

Project description

A websocket to rabbitmq gateway

https://travis-ci.org/elastic-coders/pushpull.svg?branch=master

BETA

Makes it easy to talk to websocket clients using rabbitmq queues.

Websocket to message broker gateway for servers:

websocket client (browser) <---> pushpull gateway <----> message broker (rabbitmq) <---> your backend application
                                                                                     \
                                                                                      \-> the authenticator module

Includes some standard authenticator modules

Install

Requires python3.5+:

pip install pushpull

Test

  1. install a rabbitmq server and a mongodb server

  2. run tox

Usage

Run the websocket server:

pushpull-server

Run the CLI websocket client:

pushpull-client challenge_websocket http://localhost:8080/ user_token

Run the CLI rabbitmq client:

pushpull-client challenge_amqp amqp://localhost/ user_id

Run the CLI rabbitmq authenticator:

pushpull-client authenticate_amqp amqp://localhost/ pushpull.auth.simple_file:main,user_db.txt

The user_db.txt is a text file with one entry per line:

user_id:username:user_token

Build docker image

install wheel:

pip install wheel

Build wheels for 3rd party and the project itself:

pip wheel -r requirements.txt -w wheelhouse
pip wheel . --no-deps -w wheelhouse-app
docker build -t pushpull .

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

pushpull-0.0.5-py3-none-any.whl (18.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page