From a42704e0ab629d21d5d62f96861048d7c3711004 Mon Sep 17 00:00:00 2001 From: Roy Hyunjin Han Date: Mon, 16 Feb 2015 15:24:56 -0500 Subject: [PATCH] Revert to RST for PyPI --- CHANGES.md => CHANGES.rst | 2 +- MANIFEST.in | 2 +- README.md | 158 ------------------------------------- README.rst | 160 ++++++++++++++++++++++++++++++++++++++ setup.py | 4 +- 5 files changed, 164 insertions(+), 162 deletions(-) rename CHANGES.md => CHANGES.rst (94%) delete mode 100644 README.md create mode 100644 README.rst diff --git a/CHANGES.md b/CHANGES.rst similarity index 94% rename from CHANGES.md rename to CHANGES.rst index b4649c1..eae9b14 100644 --- a/CHANGES.md +++ b/CHANGES.rst @@ -49,5 +49,5 @@ 0.1 --- -- Wrapped code from [StackOverflow](http://stackoverflow.com/questions/6692908/formatting-messages-to-send-to-socket-io-node-js-server-from-python-client) +- Wrapped `code from StackOverflow `_ - Added exception handling to destructor in case of connection failure diff --git a/MANIFEST.in b/MANIFEST.in index 4396c68..346209d 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,3 +1,3 @@ recursive-include socketIO_client * -include *.md +include *.rst global-exclude *.pyc diff --git a/README.md b/README.md deleted file mode 100644 index ef3b3ed..0000000 --- a/README.md +++ /dev/null @@ -1,158 +0,0 @@ -[![Build Status](https://travis-ci.org/invisibleroads/socketIO-client.svg?branch=master)](https://travis-ci.org/invisibleroads/socketIO-client) - -socketIO-client -=============== -Here is a [socket.io](http://socket.io) client library for Python. You can use it to write test code for your socket.io server. - - -Installation ------------- -Install the package in an isolated environment. - - VIRTUAL_ENV=$HOME/.virtualenv - - # Prepare isolated environment - virtualenv $VIRTUAL_ENV - - # Activate isolated environment - source $VIRTUAL_ENV/bin/activate - - # Install package - pip install -U socketIO-client - - -Usage ------ -Activate isolated environment. - - VIRTUAL_ENV=$HOME/.virtualenv - source $VIRTUAL_ENV/bin/activate - -Launch your socket.io server. - - node serve-tests.js - -For debugging information, run these commands first. - - import logging - logging.basicConfig(level=logging.DEBUG) - -Emit. - - from socketIO_client import SocketIO, LoggingNamespace - - with SocketIO('localhost', 8000, LoggingNamespace) as socketIO: - socketIO.emit('aaa') - socketIO.wait(seconds=1) - -Emit with callback. - - from socketIO_client import SocketIO, LoggingNamespace - - def on_bbb_response(*args): - print 'on_bbb_response', args - - with SocketIO('localhost', 8000, LoggingNamespace) as socketIO: - socketIO.emit('bbb', {'xxx': 'yyy'}, on_bbb_response) - socketIO.wait_for_callbacks(seconds=1) - -Define events. - - from socketIO_client import SocketIO, LoggingNamespace - - def on_aaa_response(*args): - print 'on_aaa_response', args - - socketIO = SocketIO('localhost', 8000, LoggingNamespace) - socketIO.on('aaa_response', on_aaa_response) - socketIO.emit('aaa') - socketIO.wait(seconds=1) - -Define events in a namespace. - - from socketIO_client import SocketIO, BaseNamespace - - class Namespace(BaseNamespace): - - def on_aaa_response(self, *args): - print 'on_aaa_response', args - self.emit('bbb') - - socketIO = SocketIO('localhost', 8000, Namespace) - socketIO.emit('aaa') - socketIO.wait(seconds=1) - -Define standard events. - - from socketIO_client import SocketIO, BaseNamespace - - class Namespace(BaseNamespace): - - def on_connect(self): - print '[Connected]' - - socketIO = SocketIO('localhost', 8000, Namespace) - socketIO.wait(seconds=1) - -Define different namespaces on a single socket. - - from socketIO_client import SocketIO, BaseNamespace - - class ChatNamespace(BaseNamespace): - - def on_aaa_response(self, *args): - print 'on_aaa_response', args - - class NewsNamespace(BaseNamespace): - - def on_aaa_response(self, *args): - print 'on_aaa_response', args - - socketIO = SocketIO('localhost', 8000) - chat_namespace = socketIO.define(ChatNamespace, '/chat') - news_namespace = socketIO.define(NewsNamespace, '/news') - - chat_namespace.emit('aaa') - news_namespace.emit('aaa') - socketIO.wait(seconds=1) - -Connect via SSL. - - from socketIO_client import SocketIO - - SocketIO('https://localhost', verify=False) - -Specify params, headers, cookies, proxies thanks to the [requests](http://python-requests.org) library. - - from socketIO_client import SocketIO - from base64 import b64encode - - SocketIO('localhost', 8000, - params={'q': 'qqq'}, - headers={'Authorization': 'Basic ' + b64encode('username:password')}, - cookies={'a': 'aaa'}, - proxies={'https': 'https://proxy.example.com:8080'}) - -Wait forever. - - from socketIO_client import SocketIO - - socketIO = SocketIO('localhost') - socketIO.wait() - - -License -------- -This software is available under the MIT License. - - -Credits -------- -- [Guillermo Rauch](https://github.com/rauchg) wrote the [socket.io specification](https://github.com/LearnBoost/socket.io-spec). -- [Hiroki Ohtani](https://github.com/liris) wrote [websocket-client](https://github.com/liris/websocket-client). -- [rod](http://stackoverflow.com/users/370115/rod) wrote a [prototype for a Python client to a socket.io server](http://stackoverflow.com/questions/6692908/formatting-messages-to-send-to-socket-io-node-js-server-from-python-client) on StackOverflow. -- [Alexandre Bourget](https://github.com/abourget) wrote [gevent-socketio](https://github.com/abourget/gevent-socketio), which is a socket.io server written in Python. -- [Paul Kienzle](https://github.com/pkienzle), [Zac Lee](https://github.com/zratic), [Josh VanderLinden](https://github.com/codekoala), [Ian Fitzpatrick](https://github.com/ifitzpatrick), [Lucas Klein](https://github.com/lukasklein), [Rui Chicoria](https://github.com/rchicoria), [Travis Odom](https://github.com/burstaholic), [Patrick Huber](https://github.com/stackmagic), [Brad Campbell](https://github.com/bradjc), [Daniel](https://github.com/dabidan), [Sean Arietta](https://github.com/sarietta) submitted code to expand support of the socket.io protocol. -- [Bernard Pratz](https://github.com/guyzmo), [Francis Bull](https://github.com/franbull) wrote prototypes to support xhr-polling and jsonp-polling. -- [Eric Chen](https://github.com/taiyangc), [Denis Zinevich](https://github.com/dzinevich), [Thiago Hersan](https://github.com/thiagohersan), [Nayef Copty](https://github.com/nayefc), [Jörgen Karlsson](https://github.com/jorgen-k), [Branden Ghena](https://github.com/brghena) suggested ways to make the connection more robust. -- [Merlijn van Deen](https://github.com/valhallasw), [Frederic Sureau](https://github.com/fredericsureau), [Marcus Cobden](https://github.com/leth), [Drew Hutchison](https://github.com/drewhutchison), [wuurrd](https://github.com/wuurrd), [Adam Kecer](https://github.com/amfg), [Alex Monk](https://github.com/Krenair), [Vishal P R](https://github.com/vishalwy), [John Vandenberg](https://github.com/jayvdb), [Thomas Grainger](https://github.com/graingert) proposed changes that make the library more friendly and practical for you! diff --git a/README.rst b/README.rst new file mode 100644 index 0000000..7bc0f48 --- /dev/null +++ b/README.rst @@ -0,0 +1,160 @@ +.. image:: https://travis-ci.org/invisibleroads/socketIO-client.svg?branch=v0.5.4 + :target: https://travis-ci.org/invisibleroads/socketIO-client + + +socketIO-client +=============== +Here is a `socket.io `_ client library for Python. You can use it to write test code for your socket.io server. + + +Installation +------------ +Install the package in an isolated environment. :: + + VIRTUAL_ENV=$HOME/.virtualenv + + # Prepare isolated environment + virtualenv $VIRTUAL_ENV + + # Activate isolated environment + source $VIRTUAL_ENV/bin/activate + + # Install package + pip install -U socketIO-client + + +Usage +----- +Activate isolated environment. :: + + VIRTUAL_ENV=$HOME/.virtualenv + source $VIRTUAL_ENV/bin/activate + +Launch your socket.io server. :: + + node serve-tests.js + +For debugging information, run these commands first. :: + + import logging + logging.basicConfig(level=logging.DEBUG) + +Emit. :: + + from socketIO_client import SocketIO, LoggingNamespace + + with SocketIO('localhost', 8000, LoggingNamespace) as socketIO: + socketIO.emit('aaa') + socketIO.wait(seconds=1) + +Emit with callback. :: + + from socketIO_client import SocketIO, LoggingNamespace + + def on_bbb_response(*args): + print 'on_bbb_response', args + + with SocketIO('localhost', 8000, LoggingNamespace) as socketIO: + socketIO.emit('bbb', {'xxx': 'yyy'}, on_bbb_response) + socketIO.wait_for_callbacks(seconds=1) + +Define events. :: + + from socketIO_client import SocketIO, LoggingNamespace + + def on_aaa_response(*args): + print 'on_aaa_response', args + + socketIO = SocketIO('localhost', 8000, LoggingNamespace) + socketIO.on('aaa_response', on_aaa_response) + socketIO.emit('aaa') + socketIO.wait(seconds=1) + +Define events in a namespace. :: + + from socketIO_client import SocketIO, BaseNamespace + + class Namespace(BaseNamespace): + + def on_aaa_response(self, *args): + print 'on_aaa_response', args + self.emit('bbb') + + socketIO = SocketIO('localhost', 8000, Namespace) + socketIO.emit('aaa') + socketIO.wait(seconds=1) + +Define standard events. :: + + from socketIO_client import SocketIO, BaseNamespace + + class Namespace(BaseNamespace): + + def on_connect(self): + print '[Connected]' + + socketIO = SocketIO('localhost', 8000, Namespace) + socketIO.wait(seconds=1) + +Define different namespaces on a single socket. :: + + from socketIO_client import SocketIO, BaseNamespace + + class ChatNamespace(BaseNamespace): + + def on_aaa_response(self, *args): + print 'on_aaa_response', args + + class NewsNamespace(BaseNamespace): + + def on_aaa_response(self, *args): + print 'on_aaa_response', args + + socketIO = SocketIO('localhost', 8000) + chat_namespace = socketIO.define(ChatNamespace, '/chat') + news_namespace = socketIO.define(NewsNamespace, '/news') + + chat_namespace.emit('aaa') + news_namespace.emit('aaa') + socketIO.wait(seconds=1) + +Connect via SSL. :: + + from socketIO_client import SocketIO + + SocketIO('https://localhost', verify=False) + +Specify params, headers, cookies, proxies thanks to the `requests `_ library. :: + + from socketIO_client import SocketIO + from base64 import b64encode + + SocketIO('localhost', 8000, + params={'q': 'qqq'}, + headers={'Authorization': 'Basic ' + b64encode('username:password')}, + cookies={'a': 'aaa'}, + proxies={'https': 'https://proxy.example.com:8080'}) + +Wait forever. :: + + from socketIO_client import SocketIO + + socketIO = SocketIO('localhost') + socketIO.wait() + + +License +------- +This software is available under the MIT License. + + +Credits +------- +- `Guillermo Rauch `_ wrote the `socket.io specification `_. +- `Hiroki Ohtani `_ wrote `websocket-client `_. +- `rod `_ wrote a `prototype for a Python client to a socket.io server `_. +- `Alexandre Bourget `_ wrote `gevent-socketio `_, which is a socket.io server written in Python. +- `Paul Kienzle `_, `Zac Lee `_, `Josh VanderLinden `_, `Ian Fitzpatrick `_, `Lucas Klein `_, `Rui Chicoria `_, `Travis Odom `_, `Patrick Huber `_, `Brad Campbell `_, `Daniel `_, `Sean Arietta `_ submitted code to expand support of the socket.io protocol. +- `Bernard Pratz `_, `Francis Bull `_ wrote prototypes to support xhr-polling and jsonp-polling. +- `Eric Chen `_, `Denis Zinevich `_, `Thiago Hersan `_, `Nayef Copty `_, `Jörgen Karlsson `_, `Branden Ghena `_ suggested ways to make the connection more robust. +- `Merlijn van Deen `_, `Frederic Sureau `_, `Marcus Cobden `_, `Drew Hutchison `_, `wuurrd `_, `Adam Kecer `_, `Alex Monk `_, `Vishal P R `_, `John Vandenberg `_, `Thomas Grainger `_ proposed changes that make the library more friendly and practical for you! diff --git a/setup.py b/setup.py index 192eec0..5d320f7 100644 --- a/setup.py +++ b/setup.py @@ -3,8 +3,8 @@ from setuptools import setup, find_packages here = os.path.abspath(os.path.dirname(__file__)) -README = open(os.path.join(here, 'README.md')).read() -CHANGES = open(os.path.join(here, 'CHANGES.md')).read() +README = open(os.path.join(here, 'README.rst')).read() +CHANGES = open(os.path.join(here, 'CHANGES.rst')).read() setup(