{
"info": {
"author": "Zach Kelling",
"author_email": "zk@monoid.io",
"bugtrack_url": null,
"classifiers": [
"Environment :: Web Environment",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Programming Language :: Python",
"Topic :: Internet :: WWW/HTTP :: Dynamic Content",
"Topic :: Software Development :: Libraries :: Python Modules"
],
"description": "Flask-uWSGI-WebSocket\n=====================\nHigh-performance WebSockets for your Flask apps powered by `uWSGI\n`_. Low-level uWSGI WebSocket API\naccess and flexible high-level abstractions for building complex WebSocket\napplications with Flask. Supports several different concurrency models\nincluding Gevent. Inspired by `Flask-Sockets\n`_.\n\n.. code-block:: python\n\n from flask import Flask\n from flask_uwsgi_websocket import GeventWebSocket\n\n app = Flask(__name__)\n websocket = GeventWebSocket(app)\n\n @websocket.route('/echo')\n def echo(ws):\n while True:\n msg = ws.receive()\n ws.send(msg)\n\n if __name__ == '__main__':\n app.run(gevent=100)\n\n\nInstallation\n------------\nPreferred method of installation is via pip::\n\n $ pip install Flask-uWSGI-WebSocket\n\nInstalling uWSGI\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nOf course you'll also need uWSGI (with SSL support, at minimum). It can also be\ninstalled with pip::\n\n $ pip install uwsgi\n\nIf that fails or you need to enable the asyncio plugin, read on.\n\nuWSGI on Mac OS X\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nOn some versions of Mac OS X, OpenSSL headers are no longer included. If you\nuse Homebrew, install OpenSSL and ensure they are available::\n\n $ brew install openssl && brew link openssl --force\n\nThis should ensure pip can install uWSGI::\n\n $ LDFLAGS=\"-L/usr/local/lib\" pip install uwsgi --no-use-wheel\n\nIf you plan to use the asyncio plugin, you'll need to ensure that it's enabled\nwhen uWSGI is compiled. You can use ``UWSGI_PROFILE`` to do this. With Homebrew Python 3.5 installed::\n\n $ LDFLAGS=\"-L/usr/local/lib\" CFLAGS=\"-I/usr/local/include/python3.5m\" UWSGI_PROFLILE=\"asyncio\" pip3 install uwsgi --no-use-wheel\n\n\nuWSGI on Linux\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nIf your Linux distribution includes uWSGI with specific plugins, that is many\ntimes your best bet. If that fails or you'd prefer to compile uWSGI yourself,\nyou'll need to ensure that the requisite build tools, OpenSSL headers, etc are\ninstalled::\n\n $ apt-get install build-essential libssl-dev python3-dev python3-venv\n\nAccording to the `uWSGI asyncio docs\n`_, ``UWSGI_PROFILE``\nand ``greenlet.h`` location should be specified.\n\nIf you are installing uWSGI into a virtualenv, the process is::\n\n $ python3 -m venv pyvenv\n $ . pyvenv/bin/activate\n (pyvenv)$ pip install greenlet\n\nNow, ``greenlet.h`` should be available at ``$VIRTUAL_ENV/include/site/python3.5``. To build with pip::\n\n $ mkdir -p $VIRTUAL_ENV/include/site/python3.5/greenlet\n $ ln -s ../greenlet.h $VIRTUAL_ENV/include/site/python3.5/greenlet/\n $ CFLAGS=\"-I$VIRTUAL_ENV/include/site/python3.5\" UWSGI_PROFILE=\"asyncio\" pip install uwsgi --no-use-wheel\n\nDeployment\n----------\nYou can use uWSGI's built-in HTTP router to get up and running quickly::\n\n $ uwsgi --master --http :8080 --http-websockets --wsgi echo:app\n\n...which is what ``app.run`` does after wrapping your Flask app::\n\n app.run(debug=True, host='localhost', port=8080, master=true, processes=8)\n\nuWSGI supports several concurrency models, in particular it has nice support\nfor Gevent. If you want to use Gevent, import\n``flask_uwsgi_websocket.GeventWebSocket`` and configure uWSGI to use the\ngevent loop engine::\n\n $ uwsgi --master --http :8080 --http-websockets --gevent 100 --wsgi echo:app\n\n...or::\n\n app.run(debug=True, gevent=100)\n\nNote that you cannot use multiple threads with gevent loop engine.\n\nTo enable asyncio instead::\n\n $ uwsgi --master --http :5000 --http-websockets --asyncio 100 --greenlet --wsgi chat:app\n\n...or::\n\n app.run(debug=True, asyncio=100, greenlet=True)\n\nFor production you'll probably want to run uWSGI behind Haproxy or Nginx,\ninstead of using the built-int HTTP router. Explore the `uWSGI documentation\n`_ to learn more\nabout the various concurrency and deployment options.\n\nDevelopment\n-----------\nIt's possible to take advantage of Flask's interactive debugger by installing\nWerkzeug's ``DebuggedApplication`` middleware::\n\n from werkzeug.debug import DebuggedApplication\n app.wsgi_app = DebuggedApplication(app.wsgi_app, True)\n\n...and running uWSGI with only a single worker::\n\n $ uwsgi --master --http :8080 --http-websockets --wsgi-file --workers 1 --threads 8 app.py\n\nIf you use ``app.run(debug=True)`` or export ``FLASK_UWSGI_DEBUG``,\nFlask-uWSGI-Websocket will do this automatically for you.\n\n\nExamples\n--------\nThere are several examples `available here `_.\n\nAPI\n---\n\n``WebSocket``\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nApplies ``WebSocketMiddleware`` to your Flask App, allowing you to decorate\nroutes with the ``route`` method, turning them into WebSocket handlers.\n\nAdditionally monkey-patches ``app.run``, to run your app directly in uWSGI.\n\n``route(url)``\n\n``run(debug, host, port, **kwargs)``\n``**kwargs`` are passed to uWSGI as command line arguments.\n\n\n``WebSocketMiddleware``\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nWebSocket Middleware which automatically performs WebSocket handshake and\npasses ``WebSocketClient`` instances to your route.\n\n\n``WebSocketClient``\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nExposes the `uWSGI WebSocket API\n`_.\n\n``recv()`` (alias ``WebSocket.receive()``)\n\n``recv_nb()``\n\n``send(msg)``\n\n``send_binary(msg)``\n\n``recv_nb()``\n\n``send_from_sharedarea(id, pos)``\n\n``send_binary_from_sharedarea(id, pos)``\n\n\n``GeventWebSocket``\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nFancier WebSocket abstraction that takes advantage of Gevent loop engine.\nRequires uWSGI to be run with ``--uwsgi`` option.\n\n\n``GeventWebSocketMiddleware``\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nAutomatically performs WebSocket handshake and passes a\n``GeventWebSocketClient`` instance to your route.\n\n\n``GeventWebSocketClient``\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nWebSocket client abstraction with fully non-blocking methods.\n\n``receive()``\n\n``send(msg)``\n\n``close()``\n\n``connected``\n\n\n``AsyncioWebSocket``\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nFancier WebSocket abstraction that takes advantage of Asyncio loop engine.\nRequires uWSGI to be run with ``--asyncio`` and ``--greenlet`` option.\n\n\n``AsyncioWebSocketMiddleware``\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nAutomatically performs WebSocket handshake and passes a ``AsyncioWebSocketClient`` instance to your route.\n\n\n``AsyncioWebSocketClient``\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nWebSocket client abstraction with asyncio coroutines.\n\n``coroutine a_recv()`` (alias ``receive()``, ``recv()``)\n\n``coroutine a_send(msg)`` (alias ``send()``)\n\n``recv_nb()`` (should be useless)\n\n``send_nb()`` (should be useless)\n\n``close()``\n\n``connected``\n\n\nAdvanced Usage\n--------------\nNormally websocket routes happen outside of the normal request context. You can\nget a request context in your websocket handler by using\n``app.request_context``::\n\n app = Flask(__name__)\n ws = GeventWebSocket(app)\n\n @ws.route('/websocket')\n def websocket(ws):\n with app.request_context(ws.environ):\n print request.args\n",
"description_content_type": "",
"docs_url": null,
"download_url": "",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://github.com/zeekay/flask_uwsgi_websocket",
"keywords": "uwsgi flask websockets",
"license": "MIT",
"maintainer": "",
"maintainer_email": "",
"name": "Flask-uWSGI-WebSocket",
"package_url": "https://pypi.org/project/Flask-uWSGI-WebSocket/",
"platform": "any",
"project_url": "https://pypi.org/project/Flask-uWSGI-WebSocket/",
"project_urls": {
"Homepage": "https://github.com/zeekay/flask_uwsgi_websocket"
},
"release_url": "https://pypi.org/project/Flask-uWSGI-WebSocket/0.6.1/",
"requires_dist": null,
"requires_python": "",
"summary": "High-performance WebSockets for your Flask apps powered by uWSGI.",
"version": "0.6.1"
},
"last_serial": 4462604,
"releases": {
"0.0.1": [
{
"comment_text": "",
"digests": {
"md5": "2eb8793500e7c0d4deb13832378df828",
"sha256": "60dd1bf4a822d71354b4e0ee4a223f8f467161a571b2316f67d40dfb0dde8640"
},
"downloads": -1,
"filename": "Flask-uWSGI-WebSocket-0.0.1.tar.gz",
"has_sig": false,
"md5_digest": "2eb8793500e7c0d4deb13832378df828",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 2172,
"upload_time": "2014-01-21T14:44:25",
"url": "https://files.pythonhosted.org/packages/df/c1/bf7874b0b240e102817a56c8f6c71521edc04708445d2f26edae34ee0e09/Flask-uWSGI-WebSocket-0.0.1.tar.gz"
}
],
"0.0.2": [
{
"comment_text": "",
"digests": {
"md5": "218e0385dd46e61d9195263f60c95ea9",
"sha256": "e7b5d295373c351b2974c6d9ea39ceebd30a11695dc1c80e1a4a9fb69509b987"
},
"downloads": -1,
"filename": "Flask-uWSGI-WebSocket-0.0.2.tar.gz",
"has_sig": false,
"md5_digest": "218e0385dd46e61d9195263f60c95ea9",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 2188,
"upload_time": "2014-01-21T22:05:31",
"url": "https://files.pythonhosted.org/packages/23/a7/7310fa24e44f06d0b866c4e1e4d0ca917502fc16d8c51f1d21944663f9bd/Flask-uWSGI-WebSocket-0.0.2.tar.gz"
}
],
"0.0.3": [
{
"comment_text": "",
"digests": {
"md5": "8f6de3c719d55d2482f1f3b72f632ad1",
"sha256": "de147968138531cbca59c1d93326b7583de516073d94d1af647eda709a4e56d2"
},
"downloads": -1,
"filename": "Flask-uWSGI-WebSocket-0.0.3.tar.gz",
"has_sig": false,
"md5_digest": "8f6de3c719d55d2482f1f3b72f632ad1",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 3121,
"upload_time": "2014-01-21T22:15:01",
"url": "https://files.pythonhosted.org/packages/90/22/9ab67317794f32072cf222d717bf510698963ab3dae9a5ef32ebe4c21d93/Flask-uWSGI-WebSocket-0.0.3.tar.gz"
}
],
"0.1.0": [
{
"comment_text": "",
"digests": {
"md5": "d782ba2eb4dfa65728903234190a53f2",
"sha256": "edd01d33b54df04eeab51004182f4b178679084e91fc3d3a4b1fd4a4191ab663"
},
"downloads": -1,
"filename": "Flask-uWSGI-WebSocket-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "d782ba2eb4dfa65728903234190a53f2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 3260,
"upload_time": "2014-01-22T04:13:06",
"url": "https://files.pythonhosted.org/packages/fa/fc/86d2d0bcebf8ecceb06cecb216d0898c9adfde0abeca1b2901e111934a18/Flask-uWSGI-WebSocket-0.1.0.tar.gz"
}
],
"0.1.1": [
{
"comment_text": "",
"digests": {
"md5": "73cdeb568580b60d3f158157f36a3a78",
"sha256": "a47536e041049ee17f38b30e5c840348c557e579d6574c1251c40ffe56a682c1"
},
"downloads": -1,
"filename": "Flask-uWSGI-WebSocket-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "73cdeb568580b60d3f158157f36a3a78",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 3418,
"upload_time": "2014-01-22T05:28:52",
"url": "https://files.pythonhosted.org/packages/74/d2/b6346fb22d7b759670e360470c490bedefca1eb93e314006db80ad84cf1c/Flask-uWSGI-WebSocket-0.1.1.tar.gz"
}
],
"0.1.2": [
{
"comment_text": "",
"digests": {
"md5": "171a027eb0c4a20586ec693ffdf6c2d9",
"sha256": "fd71aae40351f4dddac3eb5c7fa291c89ff16944a24c332eede34c747d7a7330"
},
"downloads": -1,
"filename": "Flask-uWSGI-WebSocket-0.1.2.tar.gz",
"has_sig": false,
"md5_digest": "171a027eb0c4a20586ec693ffdf6c2d9",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 3481,
"upload_time": "2014-01-22T05:32:02",
"url": "https://files.pythonhosted.org/packages/eb/8b/5539a454f200fb34ccb7f83ac47f240f0ea6c3fdbf56e6fafc283d5580e7/Flask-uWSGI-WebSocket-0.1.2.tar.gz"
}
],
"0.1.3": [
{
"comment_text": "",
"digests": {
"md5": "f136a68426f3f8cd335ed9fe384f9a58",
"sha256": "c3899cd1cb91d9ea8602bbd19eecf943a20f07fe401d5426a01b8a85812b78b4"
},
"downloads": -1,
"filename": "Flask-uWSGI-WebSocket-0.1.3.tar.gz",
"has_sig": false,
"md5_digest": "f136a68426f3f8cd335ed9fe384f9a58",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 3495,
"upload_time": "2014-01-22T05:35:34",
"url": "https://files.pythonhosted.org/packages/2c/0d/79c926f045a747d03e024129e4f46117abaf9689613cf2912b29bc6422fa/Flask-uWSGI-WebSocket-0.1.3.tar.gz"
}
],
"0.1.4": [
{
"comment_text": "",
"digests": {
"md5": "1bf9c11c694e00e65f8bc31a0a324a98",
"sha256": "8ba18ab95800af0b4b5c185b8205993d1e42a9ab64b1b89c6a7ebc6c7ad3778f"
},
"downloads": -1,
"filename": "Flask-uWSGI-WebSocket-0.1.4.tar.gz",
"has_sig": false,
"md5_digest": "1bf9c11c694e00e65f8bc31a0a324a98",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 2774,
"upload_time": "2014-01-22T05:38:46",
"url": "https://files.pythonhosted.org/packages/26/b0/465959d78b99ed38db3107b957cfe03681971e0ea3c8812dc2e55a84fba7/Flask-uWSGI-WebSocket-0.1.4.tar.gz"
}
],
"0.1.5": [
{
"comment_text": "",
"digests": {
"md5": "4e28422b560fe74c20da93179f68c5cd",
"sha256": "da9fde8635d337c2d765215d9ab3b95371e2ad1ec3cb6128e73d35db17f3b304"
},
"downloads": -1,
"filename": "Flask-uWSGI-WebSocket-0.1.5.tar.gz",
"has_sig": false,
"md5_digest": "4e28422b560fe74c20da93179f68c5cd",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 4196,
"upload_time": "2014-01-22T05:43:05",
"url": "https://files.pythonhosted.org/packages/77/8a/4b0271c50ddcc2107f1734cbe53b0aa51b040db6d5e460a2303240d30e06/Flask-uWSGI-WebSocket-0.1.5.tar.gz"
}
],
"0.2.0": [
{
"comment_text": "",
"digests": {
"md5": "c10d6df2cd6b753a8a624738dd956005",
"sha256": "f34bab04fe036312f323e60f77fd26895d32c1c401f3bb73c641d845bea33561"
},
"downloads": -1,
"filename": "Flask-uWSGI-WebSocket-0.2.0.tar.gz",
"has_sig": false,
"md5_digest": "c10d6df2cd6b753a8a624738dd956005",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 4671,
"upload_time": "2014-01-22T13:27:29",
"url": "https://files.pythonhosted.org/packages/11/62/6180897969953d1263fe8ff5ab95ba0f05cfcba88e21cf34fd7cfb0fd893/Flask-uWSGI-WebSocket-0.2.0.tar.gz"
}
],
"0.2.10": [
{
"comment_text": "",
"digests": {
"md5": "33ccc51a67a5e07ff1a7773e5ff18caa",
"sha256": "16b8576cf3590c632976491c373c069edd8dbf97869c7eb0bf8f4a522c8ec754"
},
"downloads": -1,
"filename": "Flask-uWSGI-WebSocket-0.2.10.tar.gz",
"has_sig": false,
"md5_digest": "33ccc51a67a5e07ff1a7773e5ff18caa",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 5562,
"upload_time": "2014-11-23T18:58:27",
"url": "https://files.pythonhosted.org/packages/ef/85/84ee92d521726f92487e3564bfc4ab1c690d9f5e7878efd5a1a3761878ba/Flask-uWSGI-WebSocket-0.2.10.tar.gz"
}
],
"0.2.2": [
{
"comment_text": "",
"digests": {
"md5": "0c0609c63d20b7aead7f969f988a4e57",
"sha256": "211c44e70c39b4c1c688ebff6f3c47e98bd0a8577124bfdeb1cca59a32e53340"
},
"downloads": -1,
"filename": "Flask-uWSGI-WebSocket-0.2.2.tar.gz",
"has_sig": false,
"md5_digest": "0c0609c63d20b7aead7f969f988a4e57",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 4854,
"upload_time": "2014-01-22T14:36:15",
"url": "https://files.pythonhosted.org/packages/9a/a0/4934c0f7a158e56a3ba0f91f29561dd5d8fa47b8b096ac428a5e62fa7833/Flask-uWSGI-WebSocket-0.2.2.tar.gz"
}
],
"0.2.3": [
{
"comment_text": "",
"digests": {
"md5": "5a1b75049511b0548bd83f0722fd536d",
"sha256": "f8ac37a4ae377b232dce587e4de177adb8513d4f1eb37c979ac22814bb0c35a9"
},
"downloads": -1,
"filename": "Flask-uWSGI-WebSocket-0.2.3.tar.gz",
"has_sig": false,
"md5_digest": "5a1b75049511b0548bd83f0722fd536d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 5188,
"upload_time": "2014-01-22T20:31:59",
"url": "https://files.pythonhosted.org/packages/b0/5f/1be6fbf048cfcdfc585c527dfc88963e7120c672501ae2c8d02149e473c4/Flask-uWSGI-WebSocket-0.2.3.tar.gz"
}
],
"0.2.4": [
{
"comment_text": "",
"digests": {
"md5": "084329652c7af8153e3c20a80ae267c5",
"sha256": "2acaa9162e93adc3019e62f8705aaf49c823542f3bb561b957d234e5d4a9656b"
},
"downloads": -1,
"filename": "Flask-uWSGI-WebSocket-0.2.4.tar.gz",
"has_sig": false,
"md5_digest": "084329652c7af8153e3c20a80ae267c5",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 5437,
"upload_time": "2014-02-14T00:32:44",
"url": "https://files.pythonhosted.org/packages/d1/c7/17966cd801aff409262d9eba2b7292f4f3201e88a2f91ad3f2d1df3a9f5e/Flask-uWSGI-WebSocket-0.2.4.tar.gz"
}
],
"0.2.5": [
{
"comment_text": "",
"digests": {
"md5": "373de1602624b804aafffdb0e4f2115e",
"sha256": "5c1910711b852dc7d3459032e41b5fe2db064277d640db25f14ec6da7d2a782d"
},
"downloads": -1,
"filename": "Flask-uWSGI-WebSocket-0.2.5.tar.gz",
"has_sig": false,
"md5_digest": "373de1602624b804aafffdb0e4f2115e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 5472,
"upload_time": "2014-04-23T17:45:18",
"url": "https://files.pythonhosted.org/packages/91/9c/469777aa9d123c47a410c5b7026728ee4f4f48d2d677d04044fc18535c12/Flask-uWSGI-WebSocket-0.2.5.tar.gz"
}
],
"0.2.6": [
{
"comment_text": "",
"digests": {
"md5": "cc56122e44d761e0da9ebf77756400ee",
"sha256": "fa9059070d8089401332d3c7c5f88fdc30111b551050fd0fb0e4daa12ca66120"
},
"downloads": -1,
"filename": "Flask-uWSGI-WebSocket-0.2.6.tar.gz",
"has_sig": false,
"md5_digest": "cc56122e44d761e0da9ebf77756400ee",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 5439,
"upload_time": "2014-11-11T20:04:32",
"url": "https://files.pythonhosted.org/packages/73/5e/a1817b25b547f454b2dd1f5747ede2429235d8495255a2cff662d9aa61bb/Flask-uWSGI-WebSocket-0.2.6.tar.gz"
}
],
"0.2.7": [
{
"comment_text": "",
"digests": {
"md5": "e89f09a62b9ae7ac8be2ebe8a37499c4",
"sha256": "1e2f380d005c8bd48e29caccf286108cdbc2f1f045c917f3d3b077b033761f54"
},
"downloads": -1,
"filename": "Flask-uWSGI-WebSocket-0.2.7.tar.gz",
"has_sig": false,
"md5_digest": "e89f09a62b9ae7ac8be2ebe8a37499c4",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 5484,
"upload_time": "2014-11-18T18:34:54",
"url": "https://files.pythonhosted.org/packages/90/89/9610ca8cc2548a699738989eb608745de7d260c1a781974c6ea718e3b178/Flask-uWSGI-WebSocket-0.2.7.tar.gz"
}
],
"0.2.8": [
{
"comment_text": "",
"digests": {
"md5": "4fd5a476f2021b982cc4b6d258f2e633",
"sha256": "5c641201c34cd475bb8ef08247f7d59637561d08a6844657a033bcf3184005a6"
},
"downloads": -1,
"filename": "Flask-uWSGI-WebSocket-0.2.8.tar.gz",
"has_sig": false,
"md5_digest": "4fd5a476f2021b982cc4b6d258f2e633",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 5489,
"upload_time": "2014-11-18T21:34:49",
"url": "https://files.pythonhosted.org/packages/8c/00/50051a601a8e7ef78c1463197de2b57c066e17f8fa5a60a802349f1d920a/Flask-uWSGI-WebSocket-0.2.8.tar.gz"
}
],
"0.2.9": [
{
"comment_text": "",
"digests": {
"md5": "79b912c3a706eb68ce600b3d7f6f6004",
"sha256": "260ff0d0e8e6d9715a54644583590a38546ce0b1332d8f1a0a107e8262ca4312"
},
"downloads": -1,
"filename": "Flask-uWSGI-WebSocket-0.2.9.tar.gz",
"has_sig": false,
"md5_digest": "79b912c3a706eb68ce600b3d7f6f6004",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 5501,
"upload_time": "2014-11-18T23:23:52",
"url": "https://files.pythonhosted.org/packages/5f/77/254df225232063c8baf1c9299a6fc99c54a3df22ef3a94aa3058b56545b0/Flask-uWSGI-WebSocket-0.2.9.tar.gz"
}
],
"0.3.0": [
{
"comment_text": "",
"digests": {
"md5": "f87acd9d79163a097a264e496ac826f4",
"sha256": "f6a4005685ebf1708e106c92b811b1d936afc32588e87ff98bf34a98e0e95e5a"
},
"downloads": -1,
"filename": "Flask-uWSGI-WebSocket-0.3.0.tar.gz",
"has_sig": false,
"md5_digest": "f87acd9d79163a097a264e496ac826f4",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 5605,
"upload_time": "2015-03-30T09:20:45",
"url": "https://files.pythonhosted.org/packages/9f/e6/f5d1c1db2856aaf376beacf15ff97c11bd4f91d1462710dd51e7c4b67493/Flask-uWSGI-WebSocket-0.3.0.tar.gz"
}
],
"0.4.0": [
{
"comment_text": "",
"digests": {
"md5": "a6d47306dc976175d6a908c0b2aaccca",
"sha256": "970743eabcda67009aff6869173048366c34d3e63cfcaad5e135a1cc43eb7339"
},
"downloads": -1,
"filename": "Flask-uWSGI-WebSocket-0.4.0.tar.gz",
"has_sig": false,
"md5_digest": "a6d47306dc976175d6a908c0b2aaccca",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 5666,
"upload_time": "2015-04-14T14:05:04",
"url": "https://files.pythonhosted.org/packages/a2/94/9ead381d11708f4a68fd145b58718ee950a92514e0ba4ed8b54ac7ca9258/Flask-uWSGI-WebSocket-0.4.0.tar.gz"
}
],
"0.4.1": [
{
"comment_text": "",
"digests": {
"md5": "9feff1b03e9c02fef6f0cf52c654ac53",
"sha256": "cc98e5fe30260493462539e9bb86a472a44f08d832ba99f24c9eb6f6c56618cf"
},
"downloads": -1,
"filename": "Flask-uWSGI-WebSocket-0.4.1.tar.gz",
"has_sig": false,
"md5_digest": "9feff1b03e9c02fef6f0cf52c654ac53",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 5660,
"upload_time": "2015-04-20T16:14:41",
"url": "https://files.pythonhosted.org/packages/c3/b4/37854be215c46564940900a240ab452b4909dd569f61f0c46935a93767a6/Flask-uWSGI-WebSocket-0.4.1.tar.gz"
}
],
"0.4.2": [
{
"comment_text": "",
"digests": {
"md5": "2e95a8c9774330df565e1fa9e8adb75e",
"sha256": "975511ea27d066eb65c0052c0906c42f5eaf849269b707d6e8c4e65013220307"
},
"downloads": -1,
"filename": "Flask-uWSGI-WebSocket-0.4.2.tar.gz",
"has_sig": false,
"md5_digest": "2e95a8c9774330df565e1fa9e8adb75e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 5699,
"upload_time": "2015-05-10T23:06:27",
"url": "https://files.pythonhosted.org/packages/bd/07/ae934d42976e50ee4c14eb2c7ae7a14f13d883f0f5ac5b8d39fb67257e3d/Flask-uWSGI-WebSocket-0.4.2.tar.gz"
}
],
"0.4.3": [
{
"comment_text": "",
"digests": {
"md5": "e1382d2a99d3c6b2c96bf763c8d918d4",
"sha256": "59e008643d644d666d8d0cc58b217bf7ab4bdfd06c04c10e06ed3ebe5e187f67"
},
"downloads": -1,
"filename": "Flask-uWSGI-WebSocket-0.4.3.tar.gz",
"has_sig": false,
"md5_digest": "e1382d2a99d3c6b2c96bf763c8d918d4",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 5737,
"upload_time": "2015-05-10T23:41:51",
"url": "https://files.pythonhosted.org/packages/3f/81/9b79019da1851934eb10589c88d292e9c88f348662e7bf38080c424aae11/Flask-uWSGI-WebSocket-0.4.3.tar.gz"
}
],
"0.4.4": [
{
"comment_text": "",
"digests": {
"md5": "2357fe0b37834f1f9da32164920c604b",
"sha256": "c9387509f71ec0646c057222bccc8953bdba6e22a1f268d18a7426bdfbdfc3dd"
},
"downloads": -1,
"filename": "Flask-uWSGI-WebSocket-0.4.4.tar.gz",
"has_sig": false,
"md5_digest": "2357fe0b37834f1f9da32164920c604b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 5747,
"upload_time": "2015-06-12T08:10:15",
"url": "https://files.pythonhosted.org/packages/84/3a/66fee4779962050282a50b30983c06159249b002affb12d4dd90a46b75cc/Flask-uWSGI-WebSocket-0.4.4.tar.gz"
}
],
"0.4.5": [
{
"comment_text": "",
"digests": {
"md5": "9f9c463d7220df156d79699031087d79",
"sha256": "c142176bbc06e9ef18510deb15f626d5343125b9ab4c8655e3c6b774c4813bc6"
},
"downloads": -1,
"filename": "Flask-uWSGI-WebSocket-0.4.5.tar.gz",
"has_sig": false,
"md5_digest": "9f9c463d7220df156d79699031087d79",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 6481,
"upload_time": "2015-09-21T10:04:45",
"url": "https://files.pythonhosted.org/packages/8f/60/9c998c42499a2965611e129fa0da8145edabb35ada3c934a2f795d80a01d/Flask-uWSGI-WebSocket-0.4.5.tar.gz"
}
],
"0.5.0": [
{
"comment_text": "",
"digests": {
"md5": "80b14358e6d6fe0eda4473038ab66b7c",
"sha256": "b1423393a1d28cf0da8d167fdce925fd09a17e99ddd28fc5bd359d95ec73a38c"
},
"downloads": -1,
"filename": "Flask-uWSGI-WebSocket-0.5.0.tar.gz",
"has_sig": false,
"md5_digest": "80b14358e6d6fe0eda4473038ab66b7c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 6751,
"upload_time": "2015-10-29T15:46:38",
"url": "https://files.pythonhosted.org/packages/b1/a4/c7a4b6e3135f4d78b775c2e47e46dae768426677ff9e9d91c5e535893a12/Flask-uWSGI-WebSocket-0.5.0.tar.gz"
}
],
"0.5.1": [
{
"comment_text": "",
"digests": {
"md5": "0e33cc3730dd38a550d648af969d31ff",
"sha256": "f5c43bd1873708d18dd826bf530d82416707157722c46ac4b83503d2ba638375"
},
"downloads": -1,
"filename": "Flask-uWSGI-WebSocket-0.5.1.tar.gz",
"has_sig": false,
"md5_digest": "0e33cc3730dd38a550d648af969d31ff",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 8600,
"upload_time": "2016-02-15T04:17:42",
"url": "https://files.pythonhosted.org/packages/83/fb/0939a85ed0d2f50cc913ee8e8876fde85ec80cb038ec6ea4b4a8b2afbf14/Flask-uWSGI-WebSocket-0.5.1.tar.gz"
}
],
"0.5.2": [
{
"comment_text": "",
"digests": {
"md5": "d760fd2cbc79b452d6df70a3b96f150e",
"sha256": "daff62ba07f8f88ef452a01f84f17ea6fa2a7b7efc8630f3516f1ae0fc266a42"
},
"downloads": -1,
"filename": "Flask-uWSGI-WebSocket-0.5.2.tar.gz",
"has_sig": false,
"md5_digest": "d760fd2cbc79b452d6df70a3b96f150e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 8640,
"upload_time": "2016-02-15T19:17:54",
"url": "https://files.pythonhosted.org/packages/54/7b/dcc2f3a87207430cc1d961e29f62a97917b662a47f8a097c2cfce2704d6a/Flask-uWSGI-WebSocket-0.5.2.tar.gz"
}
],
"0.5.3": [
{
"comment_text": "",
"digests": {
"md5": "366154f535eaa6faea55fdf6159a985b",
"sha256": "97314b1c4845d20270cd31771e5d2321a8cee285e60a9fa234632420b1746733"
},
"downloads": -1,
"filename": "Flask-uWSGI-WebSocket-0.5.3.tar.gz",
"has_sig": false,
"md5_digest": "366154f535eaa6faea55fdf6159a985b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 8676,
"upload_time": "2016-08-19T05:13:18",
"url": "https://files.pythonhosted.org/packages/7e/bd/1ee5b2d420b9e0850c1b1638dab0811b54d606e7cd70c319396d87897add/Flask-uWSGI-WebSocket-0.5.3.tar.gz"
}
],
"0.6.0": [
{
"comment_text": "",
"digests": {
"md5": "093434a04af5761fd219bf349af34829",
"sha256": "b18942ace6f80f8ae797b6eaa4ec7ae9866f805bfa7f44ff31f4afa45ff73e37"
},
"downloads": -1,
"filename": "Flask-uWSGI-WebSocket-0.6.0.tar.gz",
"has_sig": false,
"md5_digest": "093434a04af5761fd219bf349af34829",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 8913,
"upload_time": "2016-12-23T21:50:28",
"url": "https://files.pythonhosted.org/packages/8c/ba/d649ce1439111951177797afb1ed8a94e1395717263f0c1aacb62a404b08/Flask-uWSGI-WebSocket-0.6.0.tar.gz"
}
],
"0.6.1": [
{
"comment_text": "",
"digests": {
"md5": "8faf017cd7f2a05f7d6d5a75d58ff5ce",
"sha256": "d4a0030cafb0fede1418d900a3746e176f8c2ddaf4d71cd657df230323f32491"
},
"downloads": -1,
"filename": "Flask-uWSGI-WebSocket-0.6.1.tar.gz",
"has_sig": false,
"md5_digest": "8faf017cd7f2a05f7d6d5a75d58ff5ce",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 10539,
"upload_time": "2018-11-07T18:47:06",
"url": "https://files.pythonhosted.org/packages/d1/66/934d86fb7411e63e0eaae6432a28d11ac82bdbe59cbebfe3efca56661421/Flask-uWSGI-WebSocket-0.6.1.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "8faf017cd7f2a05f7d6d5a75d58ff5ce",
"sha256": "d4a0030cafb0fede1418d900a3746e176f8c2ddaf4d71cd657df230323f32491"
},
"downloads": -1,
"filename": "Flask-uWSGI-WebSocket-0.6.1.tar.gz",
"has_sig": false,
"md5_digest": "8faf017cd7f2a05f7d6d5a75d58ff5ce",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 10539,
"upload_time": "2018-11-07T18:47:06",
"url": "https://files.pythonhosted.org/packages/d1/66/934d86fb7411e63e0eaae6432a28d11ac82bdbe59cbebfe3efca56661421/Flask-uWSGI-WebSocket-0.6.1.tar.gz"
}
]
}