---
name: "python-gevent-websocket"
section: "1"
platform: "linux"
package: "python-gevent-websocket"
version: "0.10.1-13"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/python-gevent-websocket"
---

# python-gevent-websocket(1)

gevent-websocket Documentation gevent-websocket is a WebSocket \<http://www.websocket.org/aboutwebsocket.html\> library for the gevent \<http://www.gevent.org\> networking library written written and maintained by Jeffrey Gelens \<http://www.noppo.pro\> It is licensed under the BSD license. It isn't necessary to use the build-in WebSocketServer to start using WebSockets. WebSockers can be added to existing applications very easy by making the non-standard wsgi.websocket variable available in the WSGI environment. An example using Flask \<http://flask.pocoo.org\> follows: Also the browser Javascript application can be very simple:

## NAME

gevent-websocket - gevent-websocket Documentation

gevent-websocket is a WebSocket \<http://www.websocket.org/aboutwebsocket.html\> library for the gevent \<http://www.gevent.org\> networking library written written and maintained by Jeffrey Gelens \<http://www.noppo.pro\> It is licensed under the BSD license.

```
from geventwebsocket import WebSocketServer, WebSocketApplication, Resource
class EchoApplication(WebSocketApplication):
    def on_message(self, message):
        self.ws.send(message)
WebSocketServer(
    ('', 8000),
    Resource({'/': EchoApplication})
)
```

It isn't necessary to use the build-in *WebSocketServer* to start using WebSockets. WebSockers can be added to existing applications very easy by making the non-standard *wsgi.websocket* variable available in the WSGI environment. An example using Flask \<http://flask.pocoo.org\> follows:

```
from geventwebsocket import WebSocketServer, WebSocketError
from flask import Flask, request, render_template
app = Flask(__name__)
@app.route('/')
def index():
    return render_template('index.html')
@app.route('/api')
def api():
    ws = request.environ.get('wsgi.websocket')
    if not ws:
        abort(400, "Expected WebSocket request")
    while True:
        try:
            message = ws.receive()
            ws.send("Your message was: {}".format(message))
        except WebSocketError:
            # Possibility to execute code when connection is closed
            break
if __name__ == '__main__':
    server = WebSocketServer(("", 8000), app)
    server.serve_forever()
```

Also the browser Javascript application can be very simple:

```
<!DOCTYPE html>
<html>
<head>
  <script>
    var ws = new WebSocket("ws://localhost:8000/api");
    ws.onopen = function() {
        ws.send("Hello, world");
    };
    ws.onmessage = function (event) {
        alert(event.data);
    };
  </script>
</head>
</html>
```

- •

  Framework for WebSocket servers and WebSocket subprotocols

- •

  Implementation of RFC6455 \<http://datatracker.ietf.org/doc/rfc6455/?include\_text=1\> and Hybi-10+

- •

  gevent \<http://www.gevent.org\> based: high performance, asynchronous

- •

  standards conformance (100% passes the Autobahn Websocket Testsuite \<http://autobahn.ws/testsuite\>)

## DISTRIBUTE & PIP

Installing gevent-websocket is simple with pip \<http://www.pip-installer.org\>:

```
$ pip install gevent-websocket
```

## GET THE CODE

Requests is being developed on BitBucket.

You can clone the repsistory:

```
hg clone https://www.bitbucket.org/Jeffrey/gevent-websocket
```

or download the tarball:

```
curl -LO https://bitbucket.org/Jeffrey/gevent-websocket/TODO
```

Once you have a copy, you can either embed it in your application, or installed it on your system with:

```
$ python setup.py install
```

## MAIN CLASSES

## EXCEPTIONS

- •

  Index \<\>

- •

  Module Index \<\>

- •

  Search Page \<\>

## Author

Jeffrey Gelens

## Copyright

2013, Jeffrey Gelens
