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

If you're not sure about the file name format, learn more about wheel file names.

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

Uploaded Python 3

File details

Details for the file pushpull-0.0.5-py3-none-any.whl.

File metadata

File hashes

Hashes for pushpull-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 2710ca412d75c41d805ea7ea4236d1904af9a46f7466af6e3b3035d2ebf8e5fc
MD5 d013ef48232012e8d836b948ee6b6106
BLAKE2b-256 9352f8fe2cef5b748a857e94b3f14df97f48040012d91a6495b3d461f5a6f629

See more details on using hashes here.

Supported by

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