{ "info": { "author": "Jeffrey Gelens, Karellen, Inc", "author_email": "jeffrey@noppo.pro, supervisor@karellen.co", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.6", "Topic :: Internet", "Topic :: Software Development :: Libraries", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "Karellen Gevent Websocket Library\n=================================\n\n|Gitter chat|\n\nThis is a `Karellen `__ fork of\n`gevent-websocket `__.\nThe goal of this fork is to maintain the project to support Python 3.3,\n3.4 and 3.5+ as well as latest WS standards errata.\n\n`karellen-geventws `__\nis a WebSocket library for the `gevent `__\nnetworking library.\n\nFeatures include:\n\n- Integration on both socket level or using an abstract interface.\n- RPC and PubSub framework using `WAMP `__\n (WebSocket Application Messaging Protocol).\n- Easily extendible using a simple WebSocket protocol plugin API\n\n.. code:: python\n\n\n from geventwebsocket import WebSocketServer, WebSocketApplication, Resource\n\n class EchoApplication(WebSocketApplication):\n def on_open(self):\n print(\"Connection opened\")\n\n def on_message(self, message):\n self.ws.send(message)\n\n def on_close(self, reason):\n print(reason)\n\n WebSocketServer(\n ('', 8000),\n Resource({'/': EchoApplication})\n ).serve_forever()\n\nor a low level implementation:\n\n.. code:: python\n\n\n from gevent import pywsgi\n from geventwebsocket.handler import WebSocketHandler\n\n def websocket_app(environ, start_response):\n if environ[\"PATH_INFO\"] == '/echo':\n ws = environ[\"wsgi.websocket\"]\n message = ws.receive()\n ws.send(message)\n\n server = pywsgi.WSGIServer((\"\", 8000), websocket_app,\n handler_class=WebSocketHandler)\n server.serve_forever()\n\nMore examples can be found in the ``src/unittest/python`` directory.\nHopefully more documentation will be available soon.\n\nInstallation\n============\n\nThe easiest way to install karellen-geventws is directly from\n`PyPi `__ using pip or\nsetuptools by running the commands below:\n\n::\n\n $ pip install karellen-geventws\n\nGunicorn Worker\n---------------\n\nUsing Gunicorn it is even more easy to start a server. Only the\nwebsocket\\_app from the previous example is required to start the\nserver. Start Gunicorn using the following command and worker class to\nenable WebSocket funtionality for the application.\n\n::\n\n gunicorn -k \"geventwebsocket.gunicorn.workers.GeventWebSocketWorker\" wsgi:websocket_app\n\nPerformance\n-----------\n\n`karellen-geventws `__\nis pretty fast, but can be accelerated further by installing\n`wsaccel `__ and ``ujson`` or\n``simplejson``:\n\n::\n\n $ pip install wsaccel ujson\n\n`karellen-geventws `__\nautomatically detects ``wsaccel`` and uses the Cython implementation for\nUTF8 validation and later also frame masking and demasking.\n\nGet in touch\n------------\n\nThe fork parent is located at\n`gevent-websocket `__.\n\nIssues can be created on\n`GitHub `__.\n\n.. |Gitter chat| image:: https://badges.gitter.im/karellen/gitter.svg\n :target: https://gitter.im/karellen/lobby\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/karellen/karellen-geventws", "keywords": "", "license": "Apache License, Version 2.0", "maintainer": "", "maintainer_email": "", "name": "karellen-geventws", "package_url": "https://pypi.org/project/karellen-geventws/", "platform": "", "project_url": "https://pypi.org/project/karellen-geventws/", "project_urls": { "Homepage": "https://github.com/karellen/karellen-geventws" }, "release_url": "https://pypi.org/project/karellen-geventws/1.0.2/", "requires_dist": null, "requires_python": "", "summary": "Karellen Gevent Websocket Library", "version": "1.0.2" }, "last_serial": 2668449, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "8aa1ecb7be6b8c769219c5e1d1d30457", "sha256": "50cebe214be0a61c59bfe0cf5b0dedb1e672829b7c90289e1f1f02046b92a402" }, "downloads": -1, "filename": "karellen_geventws-1.0.0-py3-none-any.whl", "has_sig": true, "md5_digest": "8aa1ecb7be6b8c769219c5e1d1d30457", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 21318, "upload_time": "2016-12-07T21:16:44", "url": "https://files.pythonhosted.org/packages/75/ed/791570f45e1de27045ec3e1cf02f4948f1a070ca1d3a202cefc688f32f24/karellen_geventws-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6b13a25cb6472817f4eabf672f5cc4ff", "sha256": "52c2ee8110d66b2b577ed08156c7a27820ceeb763ce897f07efc9cdd4379e72e" }, "downloads": -1, "filename": "karellen-geventws-1.0.0.tar.gz", "has_sig": true, "md5_digest": "6b13a25cb6472817f4eabf672f5cc4ff", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15018, "upload_time": "2016-12-07T21:16:39", "url": "https://files.pythonhosted.org/packages/0e/7f/7df9ebab4c49e08e5a880fd0bf55d1c7fb5869c91221b17a2f46a61168be/karellen-geventws-1.0.0.tar.gz" } ], "1.0.0.dev20161207211045": [ { "comment_text": "", "digests": { "md5": "c7282e26a40abac173c5b95b2cfe2457", "sha256": "66202ed14f8ce1f7188e5ee0fab44c099e094662672ae1e156f1e82932c2c387" }, "downloads": -1, "filename": "karellen_geventws-1.0.0.dev20161207211045-py3-none-any.whl", "has_sig": true, "md5_digest": "c7282e26a40abac173c5b95b2cfe2457", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 21671, "upload_time": "2016-12-07T21:11:04", "url": "https://files.pythonhosted.org/packages/bd/fd/f41004d08efb6a1383ed73a2ab945a07f4dd5e796d86309f20d9ea00da2c/karellen_geventws-1.0.0.dev20161207211045-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "da1fe0c206f2abab6054338d34daefb6", "sha256": "d995b09ba762be7108a7568ad22272a3614d4a3cb28892f023d1b59844050780" }, "downloads": -1, "filename": "karellen-geventws-1.0.0.dev20161207211045.tar.gz", "has_sig": true, "md5_digest": "da1fe0c206f2abab6054338d34daefb6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15033, "upload_time": "2016-12-07T21:11:00", "url": "https://files.pythonhosted.org/packages/8a/23/099befc5d5daed3a503596c25f6e55012e8d26dabcec1fe53825aa093773/karellen-geventws-1.0.0.dev20161207211045.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "c13a8ec1bcadd416022ae36f53290e79", "sha256": "52a20403bd888b0b52258740573dfc9f6736b0aef306f6e57ba1ff3031e21014" }, "downloads": -1, "filename": "karellen_geventws-1.0.1-py3-none-any.whl", "has_sig": true, "md5_digest": "c13a8ec1bcadd416022ae36f53290e79", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 21317, "upload_time": "2016-12-10T05:19:04", "url": "https://files.pythonhosted.org/packages/76/ff/176954486189e3e1caf02aad3a5dd587e487ed7e1367c5aef29534cf56f1/karellen_geventws-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cf26a967f87eb25646eb2ea232a53dc3", "sha256": "a4ab165adeedbddf8d2aa8b8cef01cf6075c76d562944e8c53a920e7666c8eb7" }, "downloads": -1, "filename": "karellen-geventws-1.0.1.tar.gz", "has_sig": true, "md5_digest": "cf26a967f87eb25646eb2ea232a53dc3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15005, "upload_time": "2016-12-10T05:19:01", "url": "https://files.pythonhosted.org/packages/6a/b8/fb723fc94a2536046c4118ca0d1d3bf96ac61e45e623de7e0127716bae78/karellen-geventws-1.0.1.tar.gz" } ], "1.0.1.dev20161210051417": [ { "comment_text": "", "digests": { "md5": "a09d385be9d8c1aa6bcff963c88a6b32", "sha256": "dfce2231d287452484ed4565ef6270e3e50f846a71c7bfd00c6d9c21db4a2df2" }, "downloads": -1, "filename": "karellen_geventws-1.0.1.dev20161210051417-py3-none-any.whl", "has_sig": true, "md5_digest": "a09d385be9d8c1aa6bcff963c88a6b32", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 21672, "upload_time": "2016-12-10T05:14:51", "url": "https://files.pythonhosted.org/packages/fc/30/3a6d0d37ff4d55a679e9368a72af6d9781482cba8a9afcd8e3d89ce0334a/karellen_geventws-1.0.1.dev20161210051417-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3e452a711f2345bd74192e4d468cad87", "sha256": "7038ede4508dd6005b49f77f4c3fbedaf20607af5ca35163682075629c05ebc9" }, "downloads": -1, "filename": "karellen-geventws-1.0.1.dev20161210051417.tar.gz", "has_sig": true, "md5_digest": "3e452a711f2345bd74192e4d468cad87", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15038, "upload_time": "2016-12-10T05:14:48", "url": "https://files.pythonhosted.org/packages/97/a1/b4d1f251e926ffbe097d64dd0459b3084711a2b61d8f0e7e39f3260868ab/karellen-geventws-1.0.1.dev20161210051417.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "66bbb64df2556724f81abaf6091cb9ec", "sha256": "1a713749aa76b886d059be00863cc955a534b92dd4405be3e9647aea10f5c12d" }, "downloads": -1, "filename": "karellen_geventws-1.0.2-py3-none-any.whl", "has_sig": true, "md5_digest": "66bbb64df2556724f81abaf6091cb9ec", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 21527, "upload_time": "2017-02-26T03:53:09", "url": "https://files.pythonhosted.org/packages/0b/a0/e8337fed777ddbb5d980d216f3ff128a3aa82c1290569e3910672b2166c6/karellen_geventws-1.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a3cac17d6938b3061c3e24ed9d1ec040", "sha256": "b57891bf693a2b4ef0c156e54f0bb659780d5ca5326561b5c92db972bd81d0fd" }, "downloads": -1, "filename": "karellen-geventws-1.0.2.tar.gz", "has_sig": true, "md5_digest": "a3cac17d6938b3061c3e24ed9d1ec040", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15276, "upload_time": "2017-02-26T03:53:04", "url": "https://files.pythonhosted.org/packages/fe/34/d94d67151e9bb7761c3280f2a53639176a47c41913886a9f9f5ee50ff2a6/karellen-geventws-1.0.2.tar.gz" } ], "1.0.2.dev20161215225056": [ { "comment_text": "", "digests": { "md5": "208a6628f6d233cba40695c1160aac9c", "sha256": "02ee073132c2e60a95d1b4af38e08c3539faa0664bd505c51490d642343ce84a" }, "downloads": -1, "filename": "karellen_geventws-1.0.2.dev20161215225056-py3-none-any.whl", "has_sig": true, "md5_digest": "208a6628f6d233cba40695c1160aac9c", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 21696, "upload_time": "2016-12-15T22:51:37", "url": "https://files.pythonhosted.org/packages/51/ca/d11f4e118281feba36d7c9b3ab4aad1790c7bc3ae623860957772c360851/karellen_geventws-1.0.2.dev20161215225056-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "770506dd6025f43067829887b01706ca", "sha256": "b11b50c8ce2175f01f137035e664ac89433f6bfa973f583273b74862df6f4791" }, "downloads": -1, "filename": "karellen-geventws-1.0.2.dev20161215225056.tar.gz", "has_sig": true, "md5_digest": "770506dd6025f43067829887b01706ca", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15079, "upload_time": "2016-12-15T22:51:33", "url": "https://files.pythonhosted.org/packages/58/73/fde8631d026bd37517f15d1096f290e63913f983b7d0f8c0f3c55211b7c8/karellen-geventws-1.0.2.dev20161215225056.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "66bbb64df2556724f81abaf6091cb9ec", "sha256": "1a713749aa76b886d059be00863cc955a534b92dd4405be3e9647aea10f5c12d" }, "downloads": -1, "filename": "karellen_geventws-1.0.2-py3-none-any.whl", "has_sig": true, "md5_digest": "66bbb64df2556724f81abaf6091cb9ec", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 21527, "upload_time": "2017-02-26T03:53:09", "url": "https://files.pythonhosted.org/packages/0b/a0/e8337fed777ddbb5d980d216f3ff128a3aa82c1290569e3910672b2166c6/karellen_geventws-1.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a3cac17d6938b3061c3e24ed9d1ec040", "sha256": "b57891bf693a2b4ef0c156e54f0bb659780d5ca5326561b5c92db972bd81d0fd" }, "downloads": -1, "filename": "karellen-geventws-1.0.2.tar.gz", "has_sig": true, "md5_digest": "a3cac17d6938b3061c3e24ed9d1ec040", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15276, "upload_time": "2017-02-26T03:53:04", "url": "https://files.pythonhosted.org/packages/fe/34/d94d67151e9bb7761c3280f2a53639176a47c41913886a9f9f5ee50ff2a6/karellen-geventws-1.0.2.tar.gz" } ] }