{ "info": { "author": "liris", "author_email": "liris.pp@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)", "Operating System :: MacOS :: MacOS X", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX", "Programming Language :: Python", "Topic :: Internet", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "=================\nwebsocket-client\n=================\n\nwebsocket-client module is WebSocket client for python. This provide the low level APIs for WebSocket. All APIs are the synchronous functions.\n\nwebsocket-client supports only hybi-13.\n\nCAUTION\n============\n\nWe have a big change on version 0.14.0.\nSo, please test carefully.\n\n\nLicense\n============\n\n - LGPL\n\nInstallation\n=============\n\nThis module is tested on Python 2.7 and Python 3.x.\n\nType \"python setup.py install\" or \"pip install websocket-client\" to install.\n\nThis module depend on\n\n - six\n - backports.ssl_match_hostname for Python 2.x\n\nHow about Python 3\n===========================\n\nNow, we support python 3 on single source code from version 0.14.0. Thanks, @battlemidget and @ralphbean.\n\nHTTP Proxy\n=============\n\nSupport websocket access via http proxy.\nThe proxy server must allow \"CONNECT\" method to websocket port.\nDefault squid setting is \"ALLOWED TO CONNECT ONLY HTTPS PORT\".\n\nCurrent implementation of websocket-client is using \"CONNECT\" method via proxy.\n\nExample\n=============\n\nLow Level API example::\n\n from websocket import create_connection\n ws = create_connection(\"ws://echo.websocket.org/\")\n print \"Sending 'Hello, World'...\"\n ws.send(\"Hello, World\")\n print \"Sent\"\n print \"Reeiving...\"\n result = ws.recv()\n print \"Received '%s'\" % result\n ws.close()\n\nIf you want to customize socket options, set sockopt.\n\nsockopt example:\n\n from websocket import create_connection\n ws = create_connection(\"ws://echo.websocket.org/\".\n sockopt=((socket.IPPROTO_TCP, socket.TCP_NODELAY),) )\n\n\nJavaScript websocket-like API example::\n\n import websocket\n import thread\n import time\n\n def on_message(ws, message):\n print message\n\n def on_error(ws, error):\n print error\n\n def on_close(ws):\n print \"### closed ###\"\n\n def on_open(ws):\n def run(*args):\n for i in range(3):\n time.sleep(1)\n ws.send(\"Hello %d\" % i)\n time.sleep(1)\n ws.close()\n print \"thread terminating...\"\n thread.start_new_thread(run, ())\n\n\n if __name__ == \"__main__\":\n websocket.enableTrace(True)\n ws = websocket.WebSocketApp(\"ws://echo.websocket.org/\",\n on_message = on_message,\n on_error = on_error,\n on_close = on_close)\n ws.on_open = on_open\n ws.run_forever()\n\n\nwsdump.py\n============\n\nwsdump.py is simple WebSocket test(debug) tool.\n\nsample for echo.websocket.org::\n\n $ wsdump.py ws://echo.websocket.org/\n Press Ctrl+C to quit\n > Hello, WebSocket\n < Hello, WebSocket\n > How are you?\n < How are you?\n\nUsage\n---------\n\nusage::\n wsdump.py [-h] [-v [VERBOSE]] ws_url\n\nWebSocket Simple Dump Tool\n\npositional arguments:\n ws_url websocket url. ex. ws://echo.websocket.org/\n\noptional arguments:\n -h, --help show this help message and exit\nWebSocketApp\n -v VERBOSE, --verbose VERBOSE set verbose mode. If set to 1, show opcode. If set to 2, enable to trace websocket module\n\nexample::\n\n $ wsdump.py ws://echo.websocket.org/\n $ wsdump.py ws://echo.websocket.org/ -v\n $ wsdump.py ws://echo.websocket.org/ -vv\n\nChangeLog\n============\n\n- v0.15.0\n\n - fixed exception when send a large message (#84)\n\n- v0.14.1\n\n - fixed to work on Python2.6 (#83)\n\n- v0.14.0\n\n - Support python 3(#73)\n - Support IPv6(#77)\n - Support explicit web proxy(#57)\n - specify cookie in connect method option(#82)\n\n- v0.13.0\n\n - MemoryError when receiving large amount of data (~60 MB) at once(ISSUE#59)\n - Controlling fragmentation(ISSUE#55)\n - server certificate validation(ISSUE#56)\n - PyPI tarball is missing test_websocket.py(ISSUE#65)\n - Payload length encoding bug(ISSUE#58)\n - disable Nagle algorithm by default(ISSUE#41)\n - Better event loop in WebSocketApp(ISSUE#63)\n - Skip tests that require Internet access by default(ISSUE#66)\n\n- v0.12.0\n\n - support keep alive for WebSocketApp(ISSUE#34)\n - fix some SSL bugs(ISSUE#35, #36)\n - fix \"Timing out leaves websocket library in bad state\"(ISSUE#37)\n - fix \"WebSocketApp.run_with_no_err() silently eats all exceptions\"(ISSUE#38)\n - WebSocketTimeoutException will be raised for ws/wss timeout(ISSUE#40)\n - improve wsdump message(ISSUE#42)\n - support fragmentation message(ISSUE#43)\n - fix some bugs\n\n- v0.11.0\n\n - Only log non-normal close status(ISSUE#31)\n - Fix default Origin isn't URI(ISSUE#32)\n - fileno support(ISSUE#33)\n\n- v0.10.0\n\n - allow to set HTTP Header to WebSocketApp(ISSUE#27)\n - fix typo in pydoc(ISSUE#28)\n - Passing a socketopt flag to the websocket constructor(ISSUE#29)\n - websocket.send fails with long data(ISSUE#30)\n\n\n- v0.9.0\n\n - allow to set opcode in WebSocketApp.send(ISSUE#25)\n - allow to modify Origin(ISSUE#26)\n\n- v0.8.0\n\n - many bug fix\n - some performance improvement\n\n- v0.7.0\n\n - fixed problem to read long data.(ISSUE#12)\n - fix buffer size boundary violation\n\n- v0.6.0\n\n - Patches: UUID4, self.keep_running, mask_key (ISSUE#11)\n - add wsdump.py tool\n\n- v0.5.2\n\n - fix Echo App Demo Throw Error: 'NoneType' object has no attribute 'opcode (ISSUE#10)\n\n- v0.5.1\n\n - delete invalid print statement.\n\n- v0.5.0\n\n - support hybi-13 protocol.\n\n- v0.4.1\n\n - fix incorrect custom header order(ISSUE#1)", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/liris/websocket-client", "keywords": "websockets", "license": "LGPL", "maintainer": null, "maintainer_email": null, "name": "websocket-client-py3", "package_url": "https://pypi.org/project/websocket-client-py3/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/websocket-client-py3/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/liris/websocket-client" }, "release_url": "https://pypi.org/project/websocket-client-py3/0.15.0/", "requires_dist": null, "requires_python": null, "summary": "WebSocket client for python. hybi13 is supported.", "version": "0.15.0" }, "last_serial": 1417045, "releases": { "0.10.0": [ { "comment_text": "", "digests": { "md5": "befc37a8a3da3861a1f44a36290ec94d", "sha256": "9911642ece0cc1fae2c609ae2d870050a93f15ce2724fe48cdfaedbe9f6ddc1b" }, "downloads": -1, "filename": "websocket-client-py3-0.10.0.tar.gz", "has_sig": false, "md5_digest": "befc37a8a3da3861a1f44a36290ec94d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20838, "upload_time": "2013-03-22T05:30:49", "url": "https://files.pythonhosted.org/packages/2c/ac/7acf05f9249e2300d2b31f4753905dd093ba055cb854382d01a07756d690/websocket-client-py3-0.10.0.tar.gz" } ], "0.11.0": [ { "comment_text": "", "digests": { "md5": "920be8ee92a0d43105379282fc960c4e", "sha256": "cb3cdb4c9c325f4aa7a0d30e3a9bbdd75e76772d0d41c8ae5ebfa1425d4cb7ed" }, "downloads": -1, "filename": "websocket-client-py3-0.11.0.tar.gz", "has_sig": false, "md5_digest": "920be8ee92a0d43105379282fc960c4e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21244, "upload_time": "2013-05-23T06:04:30", "url": "https://files.pythonhosted.org/packages/2a/8e/eb5c37df6706f9e48fda551a9121b642295f2d7c6fad27b99b35af6ce2af/websocket-client-py3-0.11.0.tar.gz" } ], "0.12.0": [ { "comment_text": "", "digests": { "md5": "2ed7fea339156dab1a8d3e4224fcc95a", "sha256": "ab830ac82cecd8f66578e9a11bcc95be83bdd308d58f17b4c9b41b340a9c807a" }, "downloads": -1, "filename": "websocket-client-py3-0.12.0.tar.gz", "has_sig": false, "md5_digest": "2ed7fea339156dab1a8d3e4224fcc95a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22383, "upload_time": "2013-09-13T00:34:49", "url": "https://files.pythonhosted.org/packages/b7/9c/6a4138a8d270e9b05e68cdd538ea3bb84b837122556224bdd112b3be6208/websocket-client-py3-0.12.0.tar.gz" } ], "0.13.0": [ { "comment_text": "", "digests": { "md5": "842a53f6848e7e78e4dc88cb58334923", "sha256": "8ba329e960432db6c17773d779d60d70b96f555b3ee552447215feafb5aa4f61" }, "downloads": -1, "filename": "websocket-client-py3-0.13.0.tar.gz", "has_sig": false, "md5_digest": "842a53f6848e7e78e4dc88cb58334923", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 186747, "upload_time": "2014-04-20T22:23:08", "url": "https://files.pythonhosted.org/packages/a9/f9/0827988120c690f69f7a0839ed7b3280a3cf56e5a34ffad8e10ff80a1e77/websocket-client-py3-0.13.0.tar.gz" } ], "0.13.1": [ { "comment_text": "", "digests": { "md5": "8968c7ff122ed90ed0432545647d6f4b", "sha256": "4a5c0683162a704ea278fb7e398ae6d77ee7b29eb8f08b81ce1420a42db15f66" }, "downloads": -1, "filename": "websocket-client-py3-0.13.1.tar.gz", "has_sig": false, "md5_digest": "8968c7ff122ed90ed0432545647d6f4b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 186795, "upload_time": "2014-04-25T03:30:38", "url": "https://files.pythonhosted.org/packages/e3/8f/359441aa014381c4533668f4efda71150f352b3ad1b4f596b5aa3faa4532/websocket-client-py3-0.13.1.tar.gz" } ], "0.14.0": [ { "comment_text": "", "digests": { "md5": "2401ca5d56974ea645fccd74e1791672", "sha256": "2457ac5777fb12679e61e84a4d288a073c165b24cf7453edc6dffcd56336c718" }, "downloads": -1, "filename": "websocket-client-py3-0.14.0.tar.gz", "has_sig": false, "md5_digest": "2401ca5d56974ea645fccd74e1791672", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 187588, "upload_time": "2014-05-15T00:09:10", "url": "https://files.pythonhosted.org/packages/a5/a5/3789cb0c474395e20e496af489fd8f4dcbbdd5b87a0fa769cf3bd91d9056/websocket-client-py3-0.14.0.tar.gz" } ], "0.14.1": [ { "comment_text": "", "digests": { "md5": "c8525586c2fc8e62a2904ab1673150d3", "sha256": "fcc5a0cb097ac31c08c173ec610f09e01fa8709adb2b45e7b33b1751eb7fa86e" }, "downloads": -1, "filename": "websocket-client-py3-0.14.1.tar.gz", "has_sig": false, "md5_digest": "c8525586c2fc8e62a2904ab1673150d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 187664, "upload_time": "2014-05-19T22:58:31", "url": "https://files.pythonhosted.org/packages/0b/4c/31cdc459d484255c780add562dca5fd0b23aa35436b54f838ed4cb2a4f85/websocket-client-py3-0.14.1.tar.gz" } ], "0.15.0": [ { "comment_text": "", "digests": { "md5": "7caeedf99e8038987a17413c1f531728", "sha256": "092b3c22ee33253050217cea06130ca16f51afb91d6e9c85f777f5f529ffbbb4" }, "downloads": -1, "filename": "websocket-client-py3-0.15.0.tar.gz", "has_sig": false, "md5_digest": "7caeedf99e8038987a17413c1f531728", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 187694, "upload_time": "2014-05-27T23:43:42", "url": "https://files.pythonhosted.org/packages/c5/82/25e0f79a27745e6620e3af714a7334942873e3649a0d876d3a0da44922cf/websocket-client-py3-0.15.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "7caeedf99e8038987a17413c1f531728", "sha256": "092b3c22ee33253050217cea06130ca16f51afb91d6e9c85f777f5f529ffbbb4" }, "downloads": -1, "filename": "websocket-client-py3-0.15.0.tar.gz", "has_sig": false, "md5_digest": "7caeedf99e8038987a17413c1f531728", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 187694, "upload_time": "2014-05-27T23:43:42", "url": "https://files.pythonhosted.org/packages/c5/82/25e0f79a27745e6620e3af714a7334942873e3649a0d876d3a0da44922cf/websocket-client-py3-0.15.0.tar.gz" } ] }