{
"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"
}
]
}