No description, website, or topics provided.
Python Makefile
Clone or download
Latest commit 914ffe1 May 19, 2016



pyramid_sockjs is a gevent-based SockJS integration for Pyramid. SockJS interface is implemented as a pyramid route. pyramid_sockjs runs inside a WSGI application rather than WSGI server. This means all of your previous WSGI/Pyramid experience will be relevant. Its possible to create any number of different sockjs routes, ie /__sockjs__/* or /mycustom-sockjs/*. You can provide different session implementation and management for each sockjs route.

Gevent based server is required for pyramid_sockjs. For example gunicorn with gevent worker. pyramid_sockjs provides simple gevent based paster server runner:

use = egg:pyramid_sockjs#server
host =
port = 8080

Example of sockjs route:

def main(global_settings, **settings):
    config = Configurator(settings=settings)

    return config.make_wsgi_app()

Client side code:

<script src=""></script>
    var sock = new SockJS('http://localhost:8080/__sockjs__');

    sock.onopen = function() {

    sock.onmessage = function(obj) {

    sock.onclose = function() {


  1. Install virtualenv:

    $ wget
    $ python2.7 ./ --no-site-packages sockjs
  2. Install gevent 1.0rc2 (non-Windows):

    $ ./sockjs/bin/pip install
  1. Install gevent 1.0rc2 (Windows, 32bit Python 2.7):

    $ ./sockjs/Scripts/easy_install
  2. Clone pyramid_sockjs from github and then install:

    $ git clone
    $ cd pyramid_sockjs
    $ ../sockjs/bin/python develop

To run chat example use following command:

$ ./sockjs/bin/python ./pyramid_sockjs/examples/

Supported transports


  • Pyramid sockjs does not support multple websocket session with same session id.
  • gevent does not support Python 3
  • Pyramid sockjs can't detect client disconnection on heroku.



You can find several examples in the pyramid_sockjs repository at github.


pyramid_sockjs is offered under the MIT license.