Metadata-Version: 1.1
Name: kr-gevent-websocket
Version: 0.4
Summary: Websocket handler for the gevent pywsgi server, a Python network library
Home-page: https://bitbucket.org/Jeffrey/gevent-websocket
Author: Jeffrey Gelens
Author-email: jeffrey@noppo.pro
License:    Copyright 2011-2013 Jeffrey Gelens <jeffrey@noppo.pro>

   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://bitbucket.org/Jeffrey/gevent-websocket
Description: ================
        gevent-websocket
        ================
        
        `gevent-websocket`_ is a websocket library for the gevent_ networking library
        written written and maintained by `Jeffrey Gelens`_ It is licensed under the BSD license.
        
        ::
        
            from geventwebsocket.server import WebSocketServer, WebSocketApplication
        
            class EchoApplication(WebSocketServer):
                def on_message(self, message):
                    self.ws.send(message)
        
            WebSocketServer(
                ('', 8000),
                Resource({'/': EchoApplication})
            )
        
        Installation
        ------------
        
        Install Python 2.5 or newer and Gevent and its dependencies. The latest release
        can be download from PyPi_ or by cloning the repository_ and running::
        
            $ python setup.py install
        
        The easiest way to install gevent-websocket is directly from PyPi_ using pip or
        setuptools by running the commands below::
        
            $ pip install gevent-websocket
        
        or::
        
            $ easy_install gevent-websocket
        
        This also installs the dependencies automatically.
        
        
        Usage
        -----
        
        Gevent Server
        ^^^^^^^^^^^^^
        
        At the moment gevent-websocket has one handler based on the Pywsgi gevent
        Hook up the WebSocketHandler to the Pywsgi Server by setting the `handler_class`
        when creating the server instance.
        
        ::
        
            from gevent import pywsgi
            from geventwebsocket.handler import WebSocketHandler
        
            server = pywsgi.WSGIServer(("", 8000), websocket_app,
                handler_class=WebSocketHandler)
            server.serve_forever()
        
        The handler enhances your WSGI app with a Websocket environment variable when the
        browser requests a Websocket connection.
        
        ::
        
            def websocket_app(environ, start_response):
                if environ["PATH_INFO"] == '/echo':
                    ws = environ["wsgi.websocket"]
                    message = ws.receive()
                    ws.send(message)
        
        Gunicorn Server
        ^^^^^^^^^^^^^^^
        
        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
        
        
        .. _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: Development Status :: 4 - Beta
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: Topic :: Internet
Classifier: Topic :: Software Development :: Libraries :: Python Modules
