Skip to content

Commit 025e15c

Browse files
update dependencies and readme
1 parent ec4ce62 commit 025e15c

File tree

2 files changed

+5
-116
lines changed

2 files changed

+5
-116
lines changed

README.rst

Lines changed: 2 additions & 113 deletions
Original file line numberDiff line numberDiff line change
@@ -4,125 +4,14 @@ python-socketio
44
.. image:: https://travis-ci.org/miguelgrinberg/python-socketio.svg?branch=master
55
:target: https://travis-ci.org/miguelgrinberg/python-socketio
66

7-
Python implementation of the `Socket.IO <https://github.com/Automattic/socket.io>`_
8-
realtime server.
9-
10-
Features
11-
--------
12-
13-
- Fully compatible with the
14-
`Javascript <https://github.com/Automattic/socket.io-client>`_,
15-
`Swift <https://github.com/socketio/socket.io-client-swift>`_,
16-
`C++ <https://github.com/socketio/socket.io-client-cpp>`_ and
17-
`Java <https://github.com/socketio/socket.io-client-java>`_ official
18-
Socket.IO clients, plus any third party clients that comply with the
19-
Socket.IO specification.
20-
- Compatible with Python 2.7 and Python 3.3+.
21-
- Supports large number of clients even on modest hardware when used with an
22-
asynchronous server based on `asyncio <https://docs.python.org/3/library/asyncio.html>`_
23-
(`sanic <http://sanic.readthedocs.io/>`_, `aiohttp <http://aiohttp.readthedocs.io/>`_
24-
or `tornado <http://www.tornadoweb.org/>`_),
25-
`eventlet <http://eventlet.net/>`_ or `gevent <http://gevent.org/>`_. For
26-
development and testing, any WSGI compliant multi-threaded server can also be
27-
used.
28-
- Includes a WSGI middleware that integrates Socket.IO traffic with standard
29-
WSGI applications.
30-
- Broadcasting of messages to all connected clients, or to subsets of them
31-
assigned to "rooms".
32-
- Optional support for multiple servers, connected through a messaging queue
33-
such as Redis or RabbitMQ.
34-
- Send messages to clients from external processes, such as Celery workers or
35-
auxiliary scripts.
36-
- Event-based architecture implemented with decorators that hides the details
37-
of the protocol.
38-
- Support for HTTP long-polling and WebSocket transports.
39-
- Support for XHR2 and XHR browsers.
40-
- Support for text and binary messages.
41-
- Support for gzip and deflate HTTP compression.
42-
- Configurable CORS responses, to avoid cross-origin problems with browsers.
43-
44-
Example
45-
-------
46-
47-
The following example application uses the `aiohttp <http://aiohttp.readthedocs.io/>`_
48-
framework for asyncio:
49-
50-
.. code:: python
51-
52-
from aiohttp import web
53-
import socketio
54-
55-
sio = socketio.AsyncServer()
56-
app = web.Application()
57-
sio.attach(app)
58-
59-
async def index(request):
60-
"""Serve the client-side application."""
61-
with open('index.html') as f:
62-
return web.Response(text=f.read(), content_type='text/html')
63-
64-
@sio.on('connect', namespace='/chat')
65-
def connect(sid, environ):
66-
print("connect ", sid)
67-
68-
@sio.on('chat message', namespace='/chat')
69-
async def message(sid, data):
70-
print("message ", data)
71-
await sio.emit('reply', room=sid)
72-
73-
@sio.on('disconnect', namespace='/chat')
74-
def disconnect(sid):
75-
print('disconnect ', sid)
76-
77-
app.router.add_static('/static', 'static')
78-
app.router.add_get('/', index)
79-
80-
if __name__ == '__main__':
81-
web.run_app(app)
82-
83-
And below is a similar example, using Flask to serve the client application.
84-
This example is compatible with Python 2.7 and Python 3.3+:
85-
86-
.. code:: python
87-
88-
import socketio
89-
import eventlet
90-
import eventlet.wsgi
91-
from flask import Flask, render_template
92-
93-
sio = socketio.Server()
94-
app = Flask(__name__)
95-
96-
@app.route('/')
97-
def index():
98-
"""Serve the client-side application."""
99-
return render_template('index.html')
100-
101-
@sio.on('connect', namespace='/chat')
102-
def connect(sid, environ):
103-
print("connect ", sid)
104-
105-
@sio.on('chat message', namespace='/chat')
106-
def message(sid, data):
107-
print("message ", data)
108-
sio.emit('reply', room=sid)
109-
110-
@sio.on('disconnect', namespace='/chat')
111-
def disconnect(sid):
112-
print('disconnect ', sid)
113-
114-
if __name__ == '__main__':
115-
# wrap Flask application with engineio's middleware
116-
app = socketio.Middleware(sio, app)
117-
118-
# deploy as an eventlet WSGI server
119-
eventlet.wsgi.server(eventlet.listen(('', 8000)), app)
7+
Python implementation of the `Socket.IO`_ realtime client and server.
1208

1219
Resources
12210
---------
12311

12412
- `Documentation`_
12513
- `PyPI`_
12614

15+
.. _Socket.IO: https://github.com/socketio/socket.io
12716
.. _Documentation: http://python-socketio.readthedocs.io/en/latest/
12817
.. _PyPI: https://pypi.python.org/pypi/python-socketio

setup.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,14 @@
2929
platforms='any',
3030
install_requires=[
3131
'six>=1.9.0',
32-
'python-engineio>=3.0.0'
32+
'python-engineio>=3.1.2'
3333
],
3434
extras_require={
3535
'client': [
36-
'python-engineio[client]>=3.0.0'
36+
'python-engineio[client]>=3.1.2'
3737
],
3838
'asyncio_client': [
39-
'python-engineio[asyncio_client]>=3.0.0'
39+
'python-engineio[asyncio_client]>=3.1.2'
4040
]
4141
},
4242
tests_require=[

0 commit comments

Comments
 (0)