{ "info": { "author": "Grayson Koonce", "author_email": "breerly@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy" ], "description": "ThreadLoop\n==========\n\n|build-status| |coverage| |pypi|\n\n Run Tornado Coroutines from Synchronous Python.\n\n.. code:: python\n\n\n from threadloop import ThreadLoop\n from tornado import gen\n\n @gen.coroutine\n def coroutine(greeting=\"Goodbye\"):\n yield gen.sleep(1)\n raise gen.Return(\"%s World\" % greeting)\n\n with ThreadLoop() as threadloop:\n future = threadloop.submit(coroutine, \"Hello\")\n\n print future.result() # Hello World\n\n\n.. |build-status| image:: https://travis-ci.org/breerly/threadloop.svg?branch=master\n :target: https://travis-ci.org/breerly/threadloop\n\n.. |coverage| image:: https://coveralls.io/repos/breerly/threadloop/badge.svg?branch=master&service=github\n :target: https://coveralls.io/github/breerly/threadloop?branch=master\n\n.. |pypi| image:: https://badge.fury.io/py/threadloop.svg\n :target: http://badge.fury.io/py/threadloop\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/breerly/threadloop", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "threadloop", "package_url": "https://pypi.org/project/threadloop/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/threadloop/", "project_urls": { "Homepage": "https://github.com/breerly/threadloop" }, "release_url": "https://pypi.org/project/threadloop/1.0.2/", "requires_dist": [ "tornado" ], "requires_python": "", "summary": "Tornado IOLoop Backed Concurrent Futures", "version": "1.0.2" }, "last_serial": 5641817, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "bd3c80bd0fd4f26d096cd5d47e4afba7", "sha256": "a018f62553135dbee71c7d03caba7f4917a1447db2f1d855219a5715fa87b735" }, "downloads": -1, "filename": "threadloop-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "bd3c80bd0fd4f26d096cd5d47e4afba7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 3947, "upload_time": "2015-07-01T15:49:33", "url": "https://files.pythonhosted.org/packages/4b/29/46499a0e4d4afe30820958eca9e6f45a31132edc564730becb16247365ee/threadloop-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bc898f8569ebb09920cf96abbb9387ed", "sha256": "a750dd895840f10eb933e46722cb6d187c44d3b20f73d604df96859712e1cdf1" }, "downloads": -1, "filename": "threadloop-0.1.0.tar.gz", "has_sig": false, "md5_digest": "bc898f8569ebb09920cf96abbb9387ed", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2448, "upload_time": "2015-07-01T15:49:37", "url": "https://files.pythonhosted.org/packages/e6/91/cd3010111eb82f80d25235eee123adc62e5706db4093c6abc7d4c287ba36/threadloop-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "4ad3e99582f22eae79466704536de502", "sha256": "a5b525185135cf3ba49ba4278fa15414b4ed58a706f522f6870e6b6e2698bbb8" }, "downloads": -1, "filename": "threadloop-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4ad3e99582f22eae79466704536de502", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4319, "upload_time": "2015-07-01T17:09:58", "url": "https://files.pythonhosted.org/packages/0e/87/6d0c0ebaf49701a7877a3947cf712a959632b0c7f051a443f5162fca96b8/threadloop-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cb1c7af48adb5e69fc18223f2cc3d0a4", "sha256": "99894b2518f3fadcd3b71008f78fd961870d44877bacd41e657f0a457293d43f" }, "downloads": -1, "filename": "threadloop-0.2.0.tar.gz", "has_sig": false, "md5_digest": "cb1c7af48adb5e69fc18223f2cc3d0a4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2868, "upload_time": "2015-07-01T17:10:01", "url": "https://files.pythonhosted.org/packages/b6/44/7948c31b2d2c6c0a20cb5b12eceeb6b7f23e29af2ce0c0c80f9c405ef992/threadloop-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "48d73e601b2686ee15b2c955d312782e", "sha256": "edaa783d28ddd76658bd43885a625cd46c856a3662d9a2fb025af59232af21df" }, "downloads": -1, "filename": "threadloop-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "48d73e601b2686ee15b2c955d312782e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4796, "upload_time": "2015-07-01T18:55:46", "url": "https://files.pythonhosted.org/packages/99/ee/ecd2c286bb01d6561b82fa24631a3c3f46d8d15b8d2325e2e5dc5f7f8b1b/threadloop-0.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a825c166b6f10779117292f572241f58", "sha256": "6274f3b5fff8e5938c943cf647d7472a96b608d96440ef1cc7cb36ed609426cc" }, "downloads": -1, "filename": "threadloop-0.2.1.tar.gz", "has_sig": false, "md5_digest": "a825c166b6f10779117292f572241f58", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3495, "upload_time": "2015-07-01T18:55:49", "url": "https://files.pythonhosted.org/packages/0b/82/8658a437bbaa1c8bbb5276be9863409ae5ece9443217bd7d858ce14400be/threadloop-0.2.1.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "c2253767f2a70e817bdb70fdab6e3945", "sha256": "91c689b3f226623158c0bbd2f3bf3d1308b31a57d2ad78f194a5112a2afc6cae" }, "downloads": -1, "filename": "threadloop-0.3.0-py2-none-any.whl", "has_sig": false, "md5_digest": "c2253767f2a70e817bdb70fdab6e3945", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 4649, "upload_time": "2015-07-09T17:18:53", "url": "https://files.pythonhosted.org/packages/d3/de/cafcb8ed0a5372d51251aa3ffdac9906854465313e7276e994a6904dd490/threadloop-0.3.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ec1bbd3af6801e831a8f2be2bc8886ce", "sha256": "01eaed7809b7d72002a368b12443c5aa3f3e265e0b70fd1412cdabce18fde971" }, "downloads": -1, "filename": "threadloop-0.3.0.tar.gz", "has_sig": false, "md5_digest": "ec1bbd3af6801e831a8f2be2bc8886ce", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3205, "upload_time": "2015-07-09T17:18:56", "url": "https://files.pythonhosted.org/packages/00/8c/bcd1b788bf9996978e462a3795a264ef64ff742ad67f9c3b6e336667be03/threadloop-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "7ad01b51d824a88dc7cdce046a505315", "sha256": "8c7576ffdda56eba6bbab2e4bc3a7f1a2686903acba5c55344611d076d4b3ceb" }, "downloads": -1, "filename": "threadloop-0.3.1.tar.gz", "has_sig": false, "md5_digest": "7ad01b51d824a88dc7cdce046a505315", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3302, "upload_time": "2015-07-13T21:31:34", "url": "https://files.pythonhosted.org/packages/9a/b4/f7f784ac353c7bed3fddee3d3b9eb6ee12150ccd7f30b9f3ffc15c31a21e/threadloop-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "ec6d640f8106f4bd3762a1c8d26f0412", "sha256": "b84fc782255bd8dd91fa52fed2474439354661312e09dc597490d2e6d431705a" }, "downloads": -1, "filename": "threadloop-0.3.2-py2-none-any.whl", "has_sig": false, "md5_digest": "ec6d640f8106f4bd3762a1c8d26f0412", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 5463, "upload_time": "2015-07-16T17:47:35", "url": "https://files.pythonhosted.org/packages/18/96/4fc9a9631ca5b42bf81bad574f7498fb64e494870a84ea7aed9a4a784558/threadloop-0.3.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "059369995f9d96823ae3d495f44ff43f", "sha256": "440a95b388357a493522104384b91b1544ff0a0cdff2237826b648a63cb7d389" }, "downloads": -1, "filename": "threadloop-0.3.2.tar.gz", "has_sig": false, "md5_digest": "059369995f9d96823ae3d495f44ff43f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3813, "upload_time": "2015-07-16T17:47:31", "url": "https://files.pythonhosted.org/packages/c6/d7/344ffab55b1cc154c13c006cf99501bbbf2bf5ebabb5ac441210e8cc7aad/threadloop-0.3.2.tar.gz" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "845f9b3534f24458bab4650734d7f184", "sha256": "a417febcdf7f82437d06d21a74124d3bf527ee15161a2d8236ac2287def1c225" }, "downloads": -1, "filename": "threadloop-0.3.3-py2-none-any.whl", "has_sig": false, "md5_digest": "845f9b3534f24458bab4650734d7f184", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 5608, "upload_time": "2015-07-18T01:12:39", "url": "https://files.pythonhosted.org/packages/54/20/7291886e0f0efca2f114794fe25ec0ba7265a2f75105191ef86935be1c21/threadloop-0.3.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d2cc8278f96feef7c0fb882c19e1b65c", "sha256": "2785eb2b2a4d9d5862019a93befbe826a30bd1908eb20cc72646c8f48f2489d8" }, "downloads": -1, "filename": "threadloop-0.3.3.tar.gz", "has_sig": false, "md5_digest": "d2cc8278f96feef7c0fb882c19e1b65c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3986, "upload_time": "2015-07-18T01:12:35", "url": "https://files.pythonhosted.org/packages/5b/50/118b7dfb6d1bf0fb2d176fef428e8d861c18cfe5ca8b5b11df8fd29f74d2/threadloop-0.3.3.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "3aec27871f0fd18c81a8a3acde362518", "sha256": "e4c282c365da1f6ac9041ab0d5c11695b43dfbbcd3e9287e07e2617aefbc0bd4" }, "downloads": -1, "filename": "threadloop-0.4.0-py2-none-any.whl", "has_sig": false, "md5_digest": "3aec27871f0fd18c81a8a3acde362518", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 5721, "upload_time": "2015-07-19T20:28:21", "url": "https://files.pythonhosted.org/packages/2b/3c/06cf1df594ebf169de1aba8c98816b5a4868ae26e71ffb27dad8d46fa957/threadloop-0.4.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "00223201e5054cc01c3c9e82e3e6487d", "sha256": "67bc39396967d4d0602003ef686f24dc250001ce4e079c2680be46ef42a2b676" }, "downloads": -1, "filename": "threadloop-0.4.0.tar.gz", "has_sig": false, "md5_digest": "00223201e5054cc01c3c9e82e3e6487d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4169, "upload_time": "2015-07-19T20:28:17", "url": "https://files.pythonhosted.org/packages/f3/61/006a18e9ca8565732833b73c23b9011d5d0f46654ca8583f8422e1501fdc/threadloop-0.4.0.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "d63e917db948ae47f1c1bc394773cf13", "sha256": "fcc9d7d0f31435bee41045c0f5305810860b7c90bd341abff8ba89cfc2de9bd2" }, "downloads": -1, "filename": "threadloop-0.5.0-py2-none-any.whl", "has_sig": false, "md5_digest": "d63e917db948ae47f1c1bc394773cf13", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 5941, "upload_time": "2015-08-18T00:35:35", "url": "https://files.pythonhosted.org/packages/8e/26/3e757baa032b0067298b7fb3217e28983393c7b187f92fd0009240737b7e/threadloop-0.5.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "42d354beddf3b9a1c5140a5ad7199f4d", "sha256": "ed3e40c45591279c35d4e21814b1f6be23af16074f5d4fca231944cd1e9a0556" }, "downloads": -1, "filename": "threadloop-0.5.0.tar.gz", "has_sig": false, "md5_digest": "42d354beddf3b9a1c5140a5ad7199f4d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4476, "upload_time": "2015-08-18T00:35:30", "url": "https://files.pythonhosted.org/packages/ce/13/c4c74dfdcefd24e3fa0b32b886ea6230007019e8bb0d8195731e4e720709/threadloop-0.5.0.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "914ba01403a4f5f89cacdbe5b4cc79af", "sha256": "07fa80a9b167f407285a320917a48385f88c50bd50ba626ab3e52b7ac56bd611" }, "downloads": -1, "filename": "threadloop-1.0.0-py2-none-any.whl", "has_sig": false, "md5_digest": "914ba01403a4f5f89cacdbe5b4cc79af", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 5981, "upload_time": "2015-10-05T21:27:29", "url": "https://files.pythonhosted.org/packages/a2/21/c006af921e21ca8f0fcc847b989ee1284193b7efb1bba1480cca07232858/threadloop-1.0.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7c7d226a4b4062a35a8621c93cf97bc0", "sha256": "cee1ac2c0d07b69c1c68d917a73bdd992e633b1413d499ccbc53c10bede8b7cf" }, "downloads": -1, "filename": "threadloop-1.0.0.tar.gz", "has_sig": false, "md5_digest": "7c7d226a4b4062a35a8621c93cf97bc0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4556, "upload_time": "2015-10-05T21:27:33", "url": "https://files.pythonhosted.org/packages/4f/97/da46f834005685db00a0f5728171721a95f16b8ebc3b85e12c50dae370a0/threadloop-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "3296fe7277b21531463b8824b7c74dda", "sha256": "45946ecb185eed84da38930d2d059f1a8685885b17f8d309529fc83e924db5e7" }, "downloads": -1, "filename": "threadloop-1.0.1-py2-none-any.whl", "has_sig": false, "md5_digest": "3296fe7277b21531463b8824b7c74dda", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 6147, "upload_time": "2015-12-17T19:53:48", "url": "https://files.pythonhosted.org/packages/90/82/0e3184d9f6d165ceb031395cea75cea7af0b0af8526c69cb2b0b0c681bd7/threadloop-1.0.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9804d245e0a75c821736a6ca80710920", "sha256": "99d9e8a9f75274c230530a9127cb685650ee46de2c09560fc1c503b63ec288b9" }, "downloads": -1, "filename": "threadloop-1.0.1.tar.gz", "has_sig": false, "md5_digest": "9804d245e0a75c821736a6ca80710920", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4756, "upload_time": "2015-12-17T19:53:56", "url": "https://files.pythonhosted.org/packages/9d/32/a514d483a7024857d6db17573d23e18b9531f6a0456d8d00761fd606544b/threadloop-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "2ef9c5accaab19ee40b631c6de17b87d", "sha256": "5c90dbefab6ffbdba26afb4829d2a9df8275d13ac7dc58dccb0e279992679599" }, "downloads": -1, "filename": "threadloop-1.0.2-py2-none-any.whl", "has_sig": false, "md5_digest": "2ef9c5accaab19ee40b631c6de17b87d", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 6241, "upload_time": "2016-04-01T18:14:50", "url": "https://files.pythonhosted.org/packages/dc/1a/ecc8f9060b8b00f8a7edac9eb020357575d332a5ad9e32c3372c66a35f79/threadloop-1.0.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1398e7c2d0f68bc370332d47693363af", "sha256": "8b180aac31013de13c2ad5c834819771992d350267bddb854613ae77ef571944" }, "downloads": -1, "filename": "threadloop-1.0.2.tar.gz", "has_sig": false, "md5_digest": "1398e7c2d0f68bc370332d47693363af", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4905, "upload_time": "2016-04-01T18:15:05", "url": "https://files.pythonhosted.org/packages/d3/1d/8398c1645b97dc008d3c658e04beda01ede3d90943d40c8d56863cf891bd/threadloop-1.0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2ef9c5accaab19ee40b631c6de17b87d", "sha256": "5c90dbefab6ffbdba26afb4829d2a9df8275d13ac7dc58dccb0e279992679599" }, "downloads": -1, "filename": "threadloop-1.0.2-py2-none-any.whl", "has_sig": false, "md5_digest": "2ef9c5accaab19ee40b631c6de17b87d", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 6241, "upload_time": "2016-04-01T18:14:50", "url": "https://files.pythonhosted.org/packages/dc/1a/ecc8f9060b8b00f8a7edac9eb020357575d332a5ad9e32c3372c66a35f79/threadloop-1.0.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1398e7c2d0f68bc370332d47693363af", "sha256": "8b180aac31013de13c2ad5c834819771992d350267bddb854613ae77ef571944" }, "downloads": -1, "filename": "threadloop-1.0.2.tar.gz", "has_sig": false, "md5_digest": "1398e7c2d0f68bc370332d47693363af", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4905, "upload_time": "2016-04-01T18:15:05", "url": "https://files.pythonhosted.org/packages/d3/1d/8398c1645b97dc008d3c658e04beda01ede3d90943d40c8d56863cf891bd/threadloop-1.0.2.tar.gz" } ] }