{ "info": { "author": "Serge S. Koval", "author_email": "serge.koval@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "=========\nTornadIO2\n=========\n\nContributors\n------------\n\n- `Serge S. Koval `_\n\nIntroduction\n------------\n\nThis is python server implementation of the `Socket.IO `_ realtime\ntransport library on top of the `Tornado `_ framework.\n\nTornadIO2 is compatible with 0.7+ version of the Socket.IO and implements\nmost of the features found in original Socket.IO server software.\n\nKey features:\n\n- Supports Socket.IO 0.8 protocol and related features\n- Full unicode support\n- Support for generator-based asynchronous code (tornado.gen API)\n- Statistics capture (packets per second, etc)\n- Actively maintained\n\nWhat is Socket.IO?\n------------------\n\nSocket.IO aims to make realtime apps possible in every browser and mobile device, blurring the differences between the different transport mechanisms. It's care-free realtime 100% in JavaScript.\n\nYou can use it to build push service, games, etc. Socket.IO will adapt to the clients browser and will use most effective transport\nprotocol available.\n\nGetting Started\n---------------\nIn order to start working with the TornadIO2 library, you have to have some basic Tornado\nknowledge. If you don't know how to use it, please read Tornado tutorial, which can be found\n`here `_.\n\nIf you're familiar with Tornado, do following to add support for Socket.IO to your application:\n\n1. Derive from tornadio2.SocketConnection class and override on_message method (on_open/on_close are optional)::\n\n class MyConnection(tornadio2.SocketConnection):\n def on_message(self, message):\n pass\n\n2. Create TornadIO2 server for your connection::\n\n MyRouter = tornadio2.TornadioRouter(MyConnection)\n\n3. Add your handler routes to the Tornado application::\n\n application = tornado.web.Application(\n MyRouter.urls,\n socket_io_port = 8000)\n\n4. Start your application\n5. You have your `socket.io` server running at port 8000. Simple, right?\n\nStarting Up\n-----------\n\nWe provide customized version (shamelessly borrowed from the SocketTornad.IO library) of the ``HttpServer``, which\nsimplifies start of your TornadIO server.\n\nTo start it, do following (assuming you created application object before)::\n\n if __name__ == \"__main__\":\n socketio_server = SocketServer(application)\n\nSocketServer will automatically start Flash policy server, if required.\n\nIf you don't want to start ``IOLoop`` immediately, pass ``auto_start = False`` as one of the constructor options and\nthen manually start IOLoop.\n\n\nMore information\n----------------\n\nFor more information, check `TornadIO2 documentation `_ and sample applications.\n\n\nExamples\n~~~~~~~~\n\nAcknowledgment\n^^^^^^^^^^^^^^\n\nPing sample which shows how to use events to work in request-response mode. It is in the ``examples/ackping`` directory.\n\nCross site\n^^^^^^^^^^\n\nChat sample which demonstrates how cross-site communication works\n(chat server is running on port 8002, while HTTP server runs on port 8001). It is in the ``examples/crosssite`` directory.\n\nEvents and generator-based async API\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nExample which shows how to use events and generator-based API to work with asynchronous code. It is in the ``examples/gen`` directory.\n\nMultiplexed\n^^^^^^^^^^^\n\nPing and chat demo running through one connection. You can see it in ``examples/multiplexed`` directory.\n\nStats\n^^^^^\n\nTornadIO2 collects some counters that you can use to troubleshoot your application performance.\nExample in ``examples/stats`` directory gives an idea how you can use these stats to plot realtime graph.\n\nRPC ping\n^^^^^^^^\n\nPing which works through socket.io events. It is in the ``examples/rpcping`` directory.\n\nTransports\n^^^^^^^^^^\n\nSimple ping/pong example with chat-like interface with selectable transports. It is in the\n``examples/transports`` directory.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/MrJoes/tornadio2/", "keywords": null, "license": "Copyright (c) 2011, Serge. S. Koval. \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.", "maintainer": null, "maintainer_email": null, "name": "TornadIO2", "package_url": "https://pypi.org/project/TornadIO2/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/TornadIO2/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.com/MrJoes/tornadio2/" }, "release_url": "https://pypi.org/project/TornadIO2/0.0.4/", "requires_dist": null, "requires_python": null, "summary": "Socket.io 0.7+ server implementation on top of Tornado framework", "version": "0.0.4" }, "last_serial": 785815, "releases": { "0.0.1": [], "0.0.2": [ { "comment_text": "", "digests": { "md5": "526996315d8dc43d7f9d5d050a0fcc75", "sha256": "9c2c6279a86ba95c28e46506b1ff9f3e75de4ca35eb71e0a206d1933f6125103" }, "downloads": -1, "filename": "TornadIO2-0.0.2.zip", "has_sig": false, "md5_digest": "526996315d8dc43d7f9d5d050a0fcc75", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33274, "upload_time": "2012-02-28T10:12:45", "url": "https://files.pythonhosted.org/packages/ab/89/8370db191510347f3420f10a8a1b685b517f4a38bb6932e3d173827eb0a4/TornadIO2-0.0.2.zip" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "da2d3cfa5bd9437cc3568e86c0f59175", "sha256": "a1be5e4bdc8c87fbba7ba2422dcbfb324e03d571bb40d4b8a9c9d2c09a3665fc" }, "downloads": -1, "filename": "TornadIO2-0.0.3.zip", "has_sig": false, "md5_digest": "da2d3cfa5bd9437cc3568e86c0f59175", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33752, "upload_time": "2012-03-27T11:35:17", "url": "https://files.pythonhosted.org/packages/f8/5e/c64e1e3629f2a94c958593c3bee200ba46ab2f1dd787747e5bf6581379b3/TornadIO2-0.0.3.zip" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "e500878c082746aa436116c88b3a1cdb", "sha256": "140eba01ed26dc87ab323aff4638eddfc001862145bb00c35eea2d1bad7805df" }, "downloads": -1, "filename": "TornadIO2-0.0.4.tar.gz", "has_sig": false, "md5_digest": "e500878c082746aa436116c88b3a1cdb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21574, "upload_time": "2012-10-22T08:16:33", "url": "https://files.pythonhosted.org/packages/75/90/e9df6b288311cca52921ca269ad9521ad14edaccf2d903e1711918d84ea6/TornadIO2-0.0.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e500878c082746aa436116c88b3a1cdb", "sha256": "140eba01ed26dc87ab323aff4638eddfc001862145bb00c35eea2d1bad7805df" }, "downloads": -1, "filename": "TornadIO2-0.0.4.tar.gz", "has_sig": false, "md5_digest": "e500878c082746aa436116c88b3a1cdb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21574, "upload_time": "2012-10-22T08:16:33", "url": "https://files.pythonhosted.org/packages/75/90/e9df6b288311cca52921ca269ad9521ad14edaccf2d903e1711918d84ea6/TornadIO2-0.0.4.tar.gz" } ] }