Skip to content

Commit

Permalink
Switch README to rst format
Browse files Browse the repository at this point in the history
  • Loading branch information
miguelgrinberg committed Jul 4, 2015
1 parent f0e6be6 commit 4fb16f8
Show file tree
Hide file tree
Showing 3 changed files with 79 additions and 71 deletions.
68 changes: 0 additions & 68 deletions README.md

This file was deleted.

77 changes: 77 additions & 0 deletions README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
python-engineio
===============

.. image:: https://travis-ci.org/miguelgrinberg/python-engineio.svg?branch=master
:target: https://travis-ci.org/miguelgrinberg/python-engineio

Python implementation of the `Engine.IO`_ realtime server.

Features
--------

- Fully compatible with the Javascript `engine.io-client`_ library.
- Compatible with Python 2.7 and Python 3.3+.
- Based on `Eventlet`_, 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`_
- `PyPI`_

.. _Engine.IO: https://github.com/Automattic/engine.io
.. _engine.io-client: https://github.com/Automattic/engine.io-client
.. _Eventlet: http://eventlet.net/
.. _Documentation: http://pythonhosted.org/python-engineio
.. _PyPI: https://pypi.python.org/pypi/python-engineio
5 changes: 2 additions & 3 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,8 @@
from setuptools import setup


f = open('README.md', 'r')
long_description = f.read()
f.close()
with open('README.rst', 'r') as f:
long_description = f.read()

setup(
name='python-engineio',
Expand Down

0 comments on commit 4fb16f8

Please sign in to comment.