SocketIO server based on the Gevent pywsgi server, a Python network library
Project description
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:
Add support for Django 1.10 by Lucas Connors (@RevolutionTech)
Drop support for Django 1.3 by Lucas Connors (@RevolutionTech)
Fixed import to support Django>=1.9 by Chris Spencer (@chrisspen)
Leadership note by Alexandre Bourget (@abourget)
Full Python 2+3 support by Eugene Pankov (@Eugeny)
The remainder of this document is the original documentation, except with links adjusted. Enjoy.
Sebastian Pipping
Presentation
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for gevent-socketio-hartwork-0.3.6.post201803091952.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3ea2f1dc945f991415b18f442bab874ff43c58037f00d263cf0011afc0d1a1d0 |
|
MD5 | 48739b3fa9acbefc475ad67a95afd63d |
|
BLAKE2b-256 | 1a276dfb5ab0ae4a47e032877ad32855164389c8ff8a065407f70bb5e93cd85c |
Hashes for gevent_socketio_hartwork-0.3.6.post201803091952-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 56cb6f94a30b0165f1a11aeab538ab876cd8508e72050a1a45e316bc685ddf81 |
|
MD5 | 93f288b7e479e72ff4dd6177ea960a80 |
|
BLAKE2b-256 | 4becc19e293be0532220f0e7fc030f2e1c92c2e505073de8fd57fa5c05cad880 |
Hashes for gevent_socketio_hartwork-0.3.6.post201803091952-py2-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9230cce6e498e9218072486c0628ad7922243b296ee74aa0c5104a821e5a7fe6 |
|
MD5 | 6de15c4433c4ce87542a50de7a8c832b |
|
BLAKE2b-256 | de59de9467a7ed27d9017557a7a46fe1acaf7af59f358321601921c7a8c59257 |