From 4fb16f8574004ad5b846d81eb9a9d958b448a7da Mon Sep 17 00:00:00 2001 From: Miguel Grinberg Date: Sat, 4 Jul 2015 11:26:17 -0700 Subject: [PATCH] Switch README to rst format --- README.md | 68 ----------------------------------------------- README.rst | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ setup.py | 5 ++-- 3 files changed, 79 insertions(+), 71 deletions(-) delete mode 100755 README.md create mode 100644 README.rst diff --git a/README.md b/README.md deleted file mode 100755 index 60e09e89..00000000 --- a/README.md +++ /dev/null @@ -1,68 +0,0 @@ -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.python.org/pypi/python-engineio) diff --git a/README.rst b/README.rst new file mode 100644 index 00000000..dcef002c --- /dev/null +++ b/README.rst @@ -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 diff --git a/setup.py b/setup.py index ed4a52c9..d52446e7 100755 --- a/setup.py +++ b/setup.py @@ -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',