Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

Websocket handler for the gevent pywsgi server, a Python network library

Project Description


`gwebsocket`_ is a WebSocket library for the gevent_ networking library.


from gevent import pywsgi
from gwebsocket.handler import WebSocketHandler

def websocket_app(environ, start_response):
if environ["PATH_INFO"] == '/echo':
ws = environ["wsgi.websocket"]
message = ws.receive()

server = pywsgi.WSGIServer(("", 8000), websocket_app,


The easiest way to install gwebsocket is directly from PyPi_ using pip or
setuptools by running the commands below::

$ pip install gwebsocket

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 "gwebsocket.gunicorn.GWebSocketWorker" wsgi:websocket_app


`gwebsocket`_ is pretty fast, but can be accelerated further by
installing `wsaccel <>`_ and `ujson` or `simplejson`::

$ pip install wsaccel ujson

`gwebsocket`_ automatically detects ``wsaccell`` and uses the Cython
implementation for UTF8 validation and later also frame masking and demasking.

Get in touch

Issues can be created
at `Bitbucket <>`_.


gwebsocket is based on `Jeffrey Gelens`_' `gevent-websocket`_.
gwebsocket omits gevent-websocket's WAMP features and WebSocketApplication mini
framework, in favor of providing just a minimal library for use in other
frameworks. gwebsocket also makes it possible to do cleanup on close without
building your app as a WebSocketApplication.

.. _gwebsocket:
.. _gevent:
.. _Jeffrey Gelens:
.. _PyPi:
.. _repository:
.. _RFC6455:

Release History

This version
History Node


History Node


History Node


History Node


History Node


Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, Size & Hash SHA256 Hash Help File Type Python Version Upload Date
(13.2 kB) Copy SHA256 Hash SHA256
Source None Nov 3, 2016

Supported By

Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Google Google Cloud Servers