{ "info": { "author": "Marco Paolini", "author_email": "markopaolini@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Operating System :: POSIX :: Linux", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Topic :: Internet :: WWW/HTTP", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "########\nPushpull\n########\nA websocket to rabbitmq gateway\n###############################\n\n.. image:: https://travis-ci.org/elastic-coders/pushpull.svg?branch=master\n :target: https://travis-ci.org/elastic-coders/pushpull\n\n**BETA**\n\nMakes it easy to talk to websocket clients using rabbitmq queues.\n\nWebsocket to message broker gateway for servers::\n\n websocket client (browser) <---> pushpull gateway <----> message broker (rabbitmq) <---> your backend application \n \\\n \\-> the authenticator module\n\n\nIncludes some standard authenticator modules\n\n\nInstall\n#######\n\nRequires python3.5+::\n\n pip install pushpull\n\n\nTest\n####\n\n1. install a rabbitmq server and a mongodb server\n2. run ``tox``\n\n\nUsage\n#####\n\nRun the websocket server::\n\n pushpull-server\n\nRun the CLI websocket client::\n\n pushpull-client challenge_websocket http://localhost:8080/ user_token\n\nRun the CLI rabbitmq client::\n\n pushpull-client challenge_amqp amqp://localhost/ user_id\n\nRun the CLI rabbitmq authenticator::\n\n pushpull-client authenticate_amqp amqp://localhost/ pushpull.auth.simple_file:main,user_db.txt\n\nThe ``user_db.txt`` is a text file with one entry per line::\n\n user_id:username:user_token\n\n\n\nBuild docker image\n##################\n\ninstall wheel::\n\n pip install wheel\n\nBuild wheels for 3rd party and the project itself::\n\n pip wheel -r requirements.txt -w wheelhouse\n pip wheel . --no-deps -w wheelhouse-app\n docker build -t pushpull .", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/elastic-coders/pushpull/", "keywords": "websocket,asyncio,rabbitmq", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "pushpull", "package_url": "https://pypi.org/project/pushpull/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/pushpull/", "project_urls": { "Homepage": "https://github.com/elastic-coders/pushpull/" }, "release_url": "https://pypi.org/project/pushpull/0.0.5/", "requires_dist": [ "aioamqp (==0.7.0)", "aiohttp (==0.22.5)", "aiohttp-cors (==0.4.0)", "click (==6.6)" ], "requires_python": "", "summary": "Websocket to message broker gateway", "version": "0.0.5" }, "last_serial": 2574729, "releases": { "0.0.2": [ { "comment_text": "", "digests": { "md5": "67a7b4e08df768940f0ac88c0fb95157", "sha256": "8bac4b55fb7115fa2ad8da94f93132a4c010a9726bc2ff4071e0ea83fbc9a402" }, "downloads": -1, "filename": "pushpull-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "67a7b4e08df768940f0ac88c0fb95157", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 18097, "upload_time": "2016-07-18T23:30:28", "url": "https://files.pythonhosted.org/packages/f6/11/8460753060de87777564727ee09e3ce4d4b310c85498a812069f4e3385ae/pushpull-0.0.2-py3-none-any.whl" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "92b8792f16c6c9ed2dd2122fbd2bcf7a", "sha256": "5fe5188bd9f1bf09cfd4aaa81093329676c67cc431f76d9cc294355b83b139c3" }, "downloads": -1, "filename": "pushpull-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "92b8792f16c6c9ed2dd2122fbd2bcf7a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 18218, "upload_time": "2016-08-03T21:08:15", "url": "https://files.pythonhosted.org/packages/02/b0/89305c0b39d815922a0d765a8be5e7023d290cc11302bd0313c5524d9a8b/pushpull-0.0.3-py3-none-any.whl" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "cb2a7e6a7dc46958127c3002fb7dd84e", "sha256": "832bb8d9c2f11a8a557ff35ed6a0e4ac985a3c6b65d34aa38298862571d348ac" }, "downloads": -1, "filename": "pushpull-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "cb2a7e6a7dc46958127c3002fb7dd84e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 18290, "upload_time": "2017-01-14T20:03:27", "url": "https://files.pythonhosted.org/packages/3a/24/0eac82a4518a9746974aa5a800248b5dabb610dd85d3ddace9538045e6b7/pushpull-0.0.4-py3-none-any.whl" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "d013ef48232012e8d836b948ee6b6106", "sha256": "2710ca412d75c41d805ea7ea4236d1904af9a46f7466af6e3b3035d2ebf8e5fc" }, "downloads": -1, "filename": "pushpull-0.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "d013ef48232012e8d836b948ee6b6106", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 18525, "upload_time": "2017-01-15T01:16:46", "url": "https://files.pythonhosted.org/packages/93/52/f8fe2cef5b748a857e94b3f14df97f48040012d91a6495b3d461f5a6f629/pushpull-0.0.5-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d013ef48232012e8d836b948ee6b6106", "sha256": "2710ca412d75c41d805ea7ea4236d1904af9a46f7466af6e3b3035d2ebf8e5fc" }, "downloads": -1, "filename": "pushpull-0.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "d013ef48232012e8d836b948ee6b6106", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 18525, "upload_time": "2017-01-15T01:16:46", "url": "https://files.pythonhosted.org/packages/93/52/f8fe2cef5b748a857e94b3f14df97f48040012d91a6495b3d461f5a6f629/pushpull-0.0.5-py3-none-any.whl" } ] }