Skip to main content

Engine.IO server

Project description

python-engineio
===============

[![Build Status](https://travis-ci.org/miguelgrinberg/python-engineio.png?branch=master)](https://travis-ci.org/miguelgrinberg/python-engineio)

Python implementation of the [Engine.IO](https://github.com/Automattic/engine.io) realtime server.

Features
--------

- Fully compatible with the Javascript
[engine.io-client](https://github.com/Automattic/engine.io-client) library.
- Compatible with Python 2.7 and Python 3.3+.
- Based on [Eventlet](http://eventlet.net/), enabling large number of
clients even on modest hardware.
- Includes a WSGI middleware that integrates Engine.IO traffic with standard
WSGI applications.
- Uses an event-based architecture implemented with decorators that hides the
details of the protocol.
- Implements HTTP long-polling and WebSocket transports.
- Supports XHR2 and XHR browsers as clients.
- Supports text and binary messages.
- Supports gzip and deflate HTTP compression.
- Configurable CORS responses to avoid cross-origin problems with browsers.

Example
-------

The following application uses Flask to serve the HTML/Javascript to the
client:

import engineio
import eventlet
from flask import Flask, render_template

eio = engineio.Server()
app = Flask(__name__)

@app.route('/')
def index():
"""Serve the client-side application."""
return render_template('index.html')

@eio.on('connect')
def connect(sid, environ):
print("connect ", sid)

@eio.on('message')
def message(sid, data):
print("message ", data)
eio.send(sid, 'reply')

@eio.on('disconnect')
def disconnect(sid):
print('disconnect ', sid)

if __name__ == '__main__':
# wrap Flask application with engineio's middleware
app = engineio.Middleware(eio, app)

# deploy as an eventlet WSGI server
eventlet.wsgi.server(eventlet.listen(('', 8000)), app)

Resources
---------

- [Documentation](http://pythonhosted.org/python-engineio)
- [PyPI](https://pypi-hypernode.com/pypi/python-engineio)

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

python-engineio-0.2.0.tar.gz (9.1 kB view details)

Uploaded Source

File details

Details for the file python-engineio-0.2.0.tar.gz.

File metadata

File hashes

Hashes for python-engineio-0.2.0.tar.gz
Algorithm Hash digest
SHA256 2008ed33cda8cd2d821d4f6bb1eb111897d6ae429f60c209de079e4044df0ab3
MD5 fa7a66dab0a260daa8fc472afc425995
BLAKE2b-256 efb45c1cac5bd245528d5ab2230e971d46a666154a2964fee4b79ca2802c70a3

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page