Skip to content

hartwork/gevent-socketio

 
 

Repository files navigation

PLEASE NOTE

What you see here is a post-0.3.6 Git version of gevent-socketio maintained by Sebastian Pipping (@hartwork) branded gevent-socketio-hartwork for distinction on PyPI.

The idea is to deviate from upstream gevent-socketio as little as possible and mirror branch master unmodified. Maintenance is done on branch hartwork-master.

Over release 0.3.6, these notable commits are included, from most recent to oldest:

The remainder of this document is the original documentation, except with links adjusted. Enjoy.

Sebastian Pipping

Presentation

https://secure.travis-ci.org/hartwork/gevent-socketio.png?branch=master

gevent-socketio is a Python implementation of the Socket.IO protocol, developed originally for Node.js by LearnBoost and then ported to other languages. Socket.IO enables real-time web communications between a browser and a server, using a WebSocket-like API. One aim of this project is to provide a single gevent-based API that works across the different WSGI-based web frameworks out there (Pyramid, Pylons, Flask, web2py, Django, etc...). Only ~3 lines of code are required to tie-in gevent-socketio in your framework. Note: you need to use the gevent python WSGI server to use gevent-socketio.

Community, rise up!

ANNOUNCEMENT: This project is in need of a solid maintainer to navigate through the 27+ open Pull Requests, merge what needs to be merged, and continue on with newer developments. @abourget is not putting as much time as he'd like on this project these days. This project has nearly 1000 GitHub Stars.. it's used by major corporations. It's a great project for you to lead. Contact @abourget on Twitter @bourgetalexndre to take more leadership.

Technical overview

Most of the gevent-socketio implementation is pure Python. There is an obvious dependency on gevent, and another on gevent-websocket. There are integration examples for Pyramid, Flask, Django and BYOF (bring your own framework!).

Documentation and References

You can read the renderered Sphinx docs at:

Discussion happen in the Github issue tracking:

You can also contact the maintainer:

Installation

You can install with standard Python methods:

pip install gevent-socketio-hartwork

or from source:

git clone git://github.com/hartwork/gevent-socketio.git
cd gevent-socketio
python setup.py install

For development, run instead of install:

python setup.py develop

If you want to do all of that in a virtualenv, run:

virtualenv env
. env/bin/activate
python setup.py develop   # or install

To execute all tests, run:

tox

To execute all tests for a specific Python version, run something like:

tox -e py27

To execute a specific test for a specific Python version, run something like:

tox -e py27 -- test_packet.py::TestEncodeMessage::test_encode_event