{ "info": { "author": "David Keeney", "author_email": "dkeeney@rdbhost.com", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Topic :: Internet :: WWW/HTTP", "Topic :: Software Development :: Libraries" ], "description": "===================\nyieldfrom . urllib3\n===================\n\n\nWhat is this about?\n===================\n\nYieldfrom is a project to port various useful Python 3 libraries, both standard library and otherwise,\nto work under Asyncio. The intention is to have the port be as alike as possible to the original, so that\nthe learning curve is minimal, and to make porting dependent modules as easy as possible.\n\nThis package is a port of the *Urllib3* package.\n\nSome functions, methods, and properties have become coroutines. This document itemizes those, with a few\nnotes on how usage needs to be different. Other than what is mentioned here, the classes, methods and functions\nare all named the same and used the same.\n\nSince the 'yield from coroutine' statements block the current method until the statement completes, this variant\ncan be a statement-for-statement replacement for the original, and the architecture of the app is unchanged. No\ncallbacks anywhere.\n\n\nimports\n=======\n\nInstead of importing like:\n\n\tfrom urllib.connections import HTTPConnection\n\tfrom urllib import connections\n\nuse:\n\tfrom yieldfrom.urllib.connections import HTTPConnection\n\tfrom yieldfrom.urllib import connections\n\n\nClasses HTTPConnection and HTTPSConnection\n==========================================\n\nThe *connect* method is now a coroutine. Call it with yield from, like 'c = yield from conn.connect(...)', and\notherwise the argument list is the same.\n\n\nClasses HTTPConnectionPool, PoolManager, and ProxyManager\n=========================================================\n\nThese classes all feature methods *urlopen*, *request*, *request_encode_url*, and *request_encode_body* , which\nhave become coroutines. The argument list is unchanged, and the functionality is unchanged. Just call it with\n'yield from' as a coroutine.\n\n\nClass HTTPResponse\n==================\n\nThere is one new method, *init()* which is a coroutine. Its function was performed by the constructor in\n*Urllib3*, but needs to be async here. A coroutine constructor would be difficult, so the async portions are\nmoved to the *init()* method. Run it as a coroutine after constructing an HTTPResponse. Generally, users of\nthe module won't be creating HTTPResponses directly, so this should not be much of an issue.\n\nThe *read*, *readinto*, *stream* methods are all coroutines. The *data* attribute is actually a property, now\na coroutine, and should be referenced with the *yield* *from* syntax, like 'd = yield from resp.data'.\n\n\nThe *from_httplib* classmethod is a coroutine also, though you probably won't be using it directly.\n\nThe *stream* method does not actually stream, but preloads the body and simulates a stream for compatibility\nwith modules and apps that use the method.\n\n\nOtherwise\n=========\n\nOther than the changes above, the API is the same as the original, and excellent documentation can be found at:\n`URLLIB3 `.\n\nChanges\n=======\n\n2014-12-29\n\nversion 0.1.2\n\nRemoved bug that caused false alarms on 'unverified connection'\nFixed test imports to unambiguosly import yieldfrom modules\nbug fixes in tests.\n\n\n2014-10-10\n\nversion 0.1.1\n\nConverted to Asyncio", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://urllib3.readthedocs.org/", "keywords": "urllib httplib asyncio filepost http https ssl pooling", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "yieldfrom.urllib3", "package_url": "https://pypi.org/project/yieldfrom.urllib3/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/yieldfrom.urllib3/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://urllib3.readthedocs.org/" }, "release_url": "https://pypi.org/project/yieldfrom.urllib3/0.1.4/", "requires_dist": null, "requires_python": null, "summary": "Asyncio HTTP library with thread-safe connection pooling, file post, and more.", "version": "0.1.4" }, "last_serial": 1910679, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "3e8a2ffa1c321c910722b85ccd8640c9", "sha256": "f5809a34412f80e75b4b1a0dd3f560b4d7f131c85bad50a19404bb3adc1846e7" }, "downloads": -1, "filename": "yieldfrom.urllib3-0.1.1.zip", "has_sig": false, "md5_digest": "3e8a2ffa1c321c910722b85ccd8640c9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 65792, "upload_time": "2014-10-19T16:42:30", "url": "https://files.pythonhosted.org/packages/c3/3e/c677fe51507b395d3913f8a99d0dede81a58e84bd662a115d88398b5eee8/yieldfrom.urllib3-0.1.1.zip" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "588bb9df1c63be0fa442f4359e30e877", "sha256": "c1f565a2c1c279c51923c93f7c80214028b56fe3fdcb533be0244b9b651e85d7" }, "downloads": -1, "filename": "yieldfrom.urllib3-0.1.2.zip", "has_sig": false, "md5_digest": "588bb9df1c63be0fa442f4359e30e877", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 66142, "upload_time": "2014-12-29T19:14:05", "url": "https://files.pythonhosted.org/packages/b3/73/3e217b43a3910bf089e07d8cc6609f850319725e9fa3cf87a7062a34ac8d/yieldfrom.urllib3-0.1.2.zip" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "6730e7dcae7a3c49317270840730eba1", "sha256": "d307bb1d321add49514e0b13e5c03ed2b0bc39c80a90203bfb853010e1768a43" }, "downloads": -1, "filename": "yieldfrom.urllib3-0.1.3.zip", "has_sig": false, "md5_digest": "6730e7dcae7a3c49317270840730eba1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 66109, "upload_time": "2016-01-18T22:44:54", "url": "https://files.pythonhosted.org/packages/23/a2/c4577d709422419b352156a15d126ec6e6126664fad404f104a5a93c5fac/yieldfrom.urllib3-0.1.3.zip" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "c10def63a4d5df2572b258598f27948a", "sha256": "759f2ead636bfdeddabd0b440cd6396791977b27e6f3de44c15a81ee7da8bd63" }, "downloads": -1, "filename": "yieldfrom.urllib3-0.1.4.zip", "has_sig": false, "md5_digest": "c10def63a4d5df2572b258598f27948a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 66109, "upload_time": "2016-01-18T22:52:21", "url": "https://files.pythonhosted.org/packages/40/1c/3417ef77d7b045441e7105dd2e344102a73c025fae1f2ddd8c0926ab982c/yieldfrom.urllib3-0.1.4.zip" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c10def63a4d5df2572b258598f27948a", "sha256": "759f2ead636bfdeddabd0b440cd6396791977b27e6f3de44c15a81ee7da8bd63" }, "downloads": -1, "filename": "yieldfrom.urllib3-0.1.4.zip", "has_sig": false, "md5_digest": "c10def63a4d5df2572b258598f27948a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 66109, "upload_time": "2016-01-18T22:52:21", "url": "https://files.pythonhosted.org/packages/40/1c/3417ef77d7b045441e7105dd2e344102a73c025fae1f2ddd8c0926ab982c/yieldfrom.urllib3-0.1.4.zip" } ] }