gevent-websocket


Namegevent-websocket JSON
Version 0.10.1 PyPI version JSON
download
home_pagehttps://www.gitlab.com/noppo/gevent-websocket
SummaryWebsocket handler for the gevent pywsgi server, a Python network library
upload_time2017-03-12 22:46:05
maintainer
docs_urlNone
authorJeffrey Gelens
requires_python
licenseCopyright 2011-2017 Jeffrey Gelens <jeffrey@noppo.pro>
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
               Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.

Download-URL: https://www.gitlab.com/noppo/gevent-websocket
Description: ================
        gevent-websocket
        ================
        
        `gevent-websocket`_ is a WebSocket library for the gevent_ networking library.
        
        Features include:
        
        - Integration on both socket level or using an abstract interface.
        - RPC and PubSub framework using `WAMP`_ (WebSocket Application
          Messaging Protocol).
        - Easily extendible using a simple WebSocket protocol plugin API
        
        
        ::
        
            from geventwebsocket import WebSocketServer, WebSocketApplication, Resource
        
            class EchoApplication(WebSocketApplication):
                def on_open(self):
                    print "Connection opened"
        
                def on_message(self, message):
                    self.ws.send(message)
        
                def on_close(self, reason):
                    print reason
        
            WebSocketServer(
                ('', 8000),
                Resource({'/': EchoApplication})
            ).serve_forever()
        
        or a low level implementation::
        
            from gevent import pywsgi
            from geventwebsocket.handler import WebSocketHandler
        
            def websocket_app(environ, start_response):
                if environ["PATH_INFO"] == '/echo':
                    ws = environ["wsgi.websocket"]
                    message = ws.receive()
                    ws.send(message)
        
            server = pywsgi.WSGIServer(("", 8000), websocket_app,
                handler_class=WebSocketHandler)
            server.serve_forever()
        
        More examples can be found in the ``examples`` directory. Hopefully more
        documentation will be available soon.
        
        Installation
        ------------
        
        The easiest way to install gevent-websocket is directly from PyPi_ using pip or
        setuptools by running the commands below::
        
            $ pip install gevent-websocket
        
        
        Gunicorn Worker
        ^^^^^^^^^^^^^^^
        
        Using Gunicorn it is even more easy to start a server. Only the
        `websocket_app` from the previous example is required to start the server.
        Start Gunicorn using the following command and worker class to enable WebSocket
        funtionality for the application.
        
        ::
        
            gunicorn -k "geventwebsocket.gunicorn.workers.GeventWebSocketWorker" wsgi:websocket_app
        
        Performance
        ^^^^^^^^^^^
        
        `gevent-websocket`_ is pretty fast, but can be accelerated further by
        installing `wsaccel <https://github.com/methane/wsaccel>`_ and `ujson` or `simplejson`::
        
            $ pip install wsaccel ujson
        
        `gevent-websocket`_ automatically detects ``wsaccell`` and uses the Cython
        implementation for UTF8 validation and later also frame masking and
        demasking.
        
        Get in touch
        ^^^^^^^^^^^^
        
        Get in touch on IRC #gevent on Freenode or on the Gevent `mailinglist
        <https://groups.google.com/forum/#!forum/gevent>`_. Issues can be created
        on `Bitbucket <https://bitbucket.org/Jeffrey/gevent-websocket/issues?status=new&status=open>`_.
        
        .. _WAMP: http://www.wamp.ws
        .. _gevent-websocket: http://www.bitbucket.org/Jeffrey/gevent-websocket/
        .. _gevent: http://www.gevent.org/
        .. _Jeffrey Gelens: http://www.gelens.org/
        .. _PyPi: http://pypi.python.org/pypi/gevent-websocket/
        .. _repository: http://www.bitbucket.org/Jeffrey/gevent-websocket/
        .. _RFC6455: http://datatracker.ietf.org/doc/rfc6455/?include_text=1
        
Platform: UNKNOWN
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: POSIX
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Topic :: Internet
Classifier: Topic :: Software Development :: Libraries :: Python Modules

            

Raw data

            {
    "_id": null,
    "home_page": "https://www.gitlab.com/noppo/gevent-websocket",
    "name": "gevent-websocket",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "",
    "author": "Jeffrey Gelens",
    "author_email": "jeffrey@noppo.pro",
    "download_url": "https://files.pythonhosted.org/packages/98/d2/6fa19239ff1ab072af40ebf339acd91fb97f34617c2ee625b8e34bf42393/gevent-websocket-0.10.1.tar.gz",
    "platform": "",
    "description": "   Licensed under the Apache License, Version 2.0 (the \"License\");\n   you may not use this file except in compliance with the License.\n   You may obtain a copy of the License at\n\n     http://www.apache.org/licenses/LICENSE-2.0\n\n   Unless required by applicable law or agreed to in writing, software\n   distributed under the License is distributed on an \"AS IS\" BASIS,\n   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n   See the License for the specific language governing permissions and\n   limitations under the License.\n\nDownload-URL: https://www.gitlab.com/noppo/gevent-websocket\nDescription: ================\n        gevent-websocket\n        ================\n        \n        `gevent-websocket`_ is a WebSocket library for the gevent_ networking library.\n        \n        Features include:\n        \n        - Integration on both socket level or using an abstract interface.\n        - RPC and PubSub framework using `WAMP`_ (WebSocket Application\n          Messaging Protocol).\n        - Easily extendible using a simple WebSocket protocol plugin API\n        \n        \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        \n        or a low level implementation::\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        \n        More examples can be found in the ``examples`` directory. Hopefully more\n        documentation will be available soon.\n        \n        Installation\n        ------------\n        \n        The easiest way to install gevent-websocket is directly from PyPi_ using pip or\n        setuptools by running the commands below::\n        \n            $ pip install gevent-websocket\n        \n        \n        Gunicorn Worker\n        ^^^^^^^^^^^^^^^\n        \n        Using Gunicorn it is even more easy to start a server. Only the\n        `websocket_app` from the previous example is required to start the server.\n        Start Gunicorn using the following command and worker class to enable WebSocket\n        funtionality for the application.\n        \n        ::\n        \n            gunicorn -k \"geventwebsocket.gunicorn.workers.GeventWebSocketWorker\" wsgi:websocket_app\n        \n        Performance\n        ^^^^^^^^^^^\n        \n        `gevent-websocket`_ is pretty fast, but can be accelerated further by\n        installing `wsaccel <https://github.com/methane/wsaccel>`_ and `ujson` or `simplejson`::\n        \n            $ pip install wsaccel ujson\n        \n        `gevent-websocket`_ automatically detects ``wsaccell`` and uses the Cython\n        implementation for UTF8 validation and later also frame masking and\n        demasking.\n        \n        Get in touch\n        ^^^^^^^^^^^^\n        \n        Get in touch on IRC #gevent on Freenode or on the Gevent `mailinglist\n        <https://groups.google.com/forum/#!forum/gevent>`_. Issues can be created\n        on `Bitbucket <https://bitbucket.org/Jeffrey/gevent-websocket/issues?status=new&status=open>`_.\n        \n        .. _WAMP: http://www.wamp.ws\n        .. _gevent-websocket: http://www.bitbucket.org/Jeffrey/gevent-websocket/\n        .. _gevent: http://www.gevent.org/\n        .. _Jeffrey Gelens: http://www.gelens.org/\n        .. _PyPi: http://pypi.python.org/pypi/gevent-websocket/\n        .. _repository: http://www.bitbucket.org/Jeffrey/gevent-websocket/\n        .. _RFC6455: http://datatracker.ietf.org/doc/rfc6455/?include_text=1\n        \nPlatform: UNKNOWN\nClassifier: Environment :: Web Environment\nClassifier: Intended Audience :: Developers\nClassifier: License :: OSI Approved :: Apache Software License\nClassifier: Operating System :: MacOS :: MacOS X\nClassifier: Operating System :: POSIX\nClassifier: Programming Language :: Python\nClassifier: Programming Language :: Python :: 2\nClassifier: Programming Language :: Python :: 2.7\nClassifier: Programming Language :: Python :: 3\nClassifier: Programming Language :: Python :: 3.5\nClassifier: Topic :: Internet\nClassifier: Topic :: Software Development :: Libraries :: Python Modules\n",
    "bugtrack_url": null,
    "license": "Copyright 2011-2017 Jeffrey Gelens <jeffrey@noppo.pro>",
    "summary": "Websocket handler for the gevent pywsgi server, a Python network library",
    "version": "0.10.1",
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "md5": "a3518af261287eefdfcba36a04030ba5",
                "sha256": "17b67d91282f8f4c973eba0551183fc84f56f1c90c8f6b6b30256f31f66f5242"
            },
            "downloads": -1,
            "filename": "gevent_websocket-0.10.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "a3518af261287eefdfcba36a04030ba5",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 22987,
            "upload_time": "2017-03-12T22:46:03",
            "upload_time_iso_8601": "2017-03-12T22:46:03.611529Z",
            "url": "https://files.pythonhosted.org/packages/7b/84/2dc373eb6493e00c884cc11e6c059ec97abae2678d42f06bf780570b0193/gevent_websocket-0.10.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "e095bf3358175489a956949c1b4de9ff",
                "sha256": "7eaef32968290c9121f7c35b973e2cc302ffb076d018c9068d2f5ca8b2d85fb0"
            },
            "downloads": -1,
            "filename": "gevent-websocket-0.10.1.tar.gz",
            "has_sig": false,
            "md5_digest": "e095bf3358175489a956949c1b4de9ff",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 18366,
            "upload_time": "2017-03-12T22:46:05",
            "upload_time_iso_8601": "2017-03-12T22:46:05.680208Z",
            "url": "https://files.pythonhosted.org/packages/98/d2/6fa19239ff1ab072af40ebf339acd91fb97f34617c2ee625b8e34bf42393/gevent-websocket-0.10.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2017-03-12 22:46:05",
    "github": false,
    "gitlab": true,
    "bitbucket": false,
    "gitlab_user": "noppo",
    "gitlab_project": "gevent-websocket",
    "lcname": "gevent-websocket"
}
        
Elapsed time: 0.01298s