{ "info": { "author": "Michal Charemza", "author_email": "michal@charemza.name", "bugtrack_url": null, "classifiers": [ "Framework :: AsyncIO", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# lowhaio-chunked [![CircleCI](https://circleci.com/gh/michalc/lowhaio-chunked.svg?style=svg)](https://circleci.com/gh/michalc/lowhaio-chunked)\n\nChunked transfer request encoding for [lowhaio](https://github.com/michalc/lowhaio). This is only needed if `content-length` is unknown before the body starts to transfer.\n\n\n## Installation\n\n```bash\npip install lowhaio lowhaio_chunked\n```\n\nor just copy and paste the below 8 lines of code into your project, ensuring to also follow the requirements in the LICENSE file.\n\n```python\ndef chunked(body):\n async def _chunked(*args, **kwargs):\n async for chunk in body(*args, **kwargs):\n yield hex(len(chunk))[2:].encode() + b'\\r\\n'\n yield chunk\n yield b'\\r\\n'\n yield b'0\\r\\n\\r\\n'\n return _chunked\n```\n\n\n## Usage\n\nUsage is very similar to standard lowhaio, except that the `body` data should be wrapped with the `chunked` function; the `transfer-encoding: chunked` header is required; and the `content-length` header should _not_ be specified.\n\nSo instead of a request like\n\n```python\nfrom lowhaio import Pool\n\nrequest, _ = Pool()\n\nbody = ...\n\ncode, headers, body = await request(\n b'POST', 'https://example.com/path', body=body,\n headers=((b'content-length', b'1234'),),\n)\n```\n\nyou can write\n\n```python\nfrom lowhaio import Pool\nfrom lowhaio_chunked import chunked # Or paste in the code above\n\nrequest, _ = Pool()\n\nbody = ...\n\ncode, headers, body = await request(\n b'POST', 'https://example.com/path', body=chunked(body),\n headers=((b'transfer-encoding': b'chunked'),),\n)\n```\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/michalc/lowhaio-chunked", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "lowhaio-chunked", "package_url": "https://pypi.org/project/lowhaio-chunked/", "platform": "", "project_url": "https://pypi.org/project/lowhaio-chunked/", "project_urls": { "Homepage": "https://github.com/michalc/lowhaio-chunked" }, "release_url": "https://pypi.org/project/lowhaio-chunked/0.0.5/", "requires_dist": null, "requires_python": ">=3.6.3", "summary": "Chunked transfer request encoding for lowhaio", "version": "0.0.5" }, "last_serial": 5293531, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "13991190e31a01e95e257d7edcb8f7a4", "sha256": "fac67f873759f7f7182d064fdad79cd002897d00b026e97b3f5bd82eef86bad9" }, "downloads": -1, "filename": "lowhaio_chunked-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "13991190e31a01e95e257d7edcb8f7a4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.3", "size": 2966, "upload_time": "2019-05-06T18:23:58", "url": "https://files.pythonhosted.org/packages/bf/8d/34bec7858a41a7c1f8f0fba57fe2cabfde8e2dec8daf53cb904143a30783/lowhaio_chunked-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7a2834ab5f764d6d624b9f22c4f5c0e2", "sha256": "9f08a96034044e349ad06d9b92b7b5c51cf1ce006783d8f00c93a18d15e9aaf0" }, "downloads": -1, "filename": "lowhaio_chunked-0.0.1.tar.gz", "has_sig": false, "md5_digest": "7a2834ab5f764d6d624b9f22c4f5c0e2", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.3", "size": 1875, "upload_time": "2019-05-06T18:24:00", "url": "https://files.pythonhosted.org/packages/a4/34/3d420fcd07c7b0dd45e60ef8722e7c1efdeed1a6dec8fb1d7957f6d24650/lowhaio_chunked-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "71877173821a51c00c75b978db7505b9", "sha256": "f04c1948f8118c8a3bfbc0689911bd308de88ad42ef77bdebde7772c91e7a4fb" }, "downloads": -1, "filename": "lowhaio_chunked-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "71877173821a51c00c75b978db7505b9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.3", "size": 3023, "upload_time": "2019-05-07T07:47:59", "url": "https://files.pythonhosted.org/packages/e1/90/ee420a5d35937dc2511d4982c622c86c7b53ccc2cc82a05126792b0646a3/lowhaio_chunked-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5bbfd01b5418e9528541ccb024563225", "sha256": "12fba3c2f947f735334c8907bc7dd12ddc5745217bf3d6211691813d534f98c6" }, "downloads": -1, "filename": "lowhaio_chunked-0.0.2.tar.gz", "has_sig": false, "md5_digest": "5bbfd01b5418e9528541ccb024563225", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.3", "size": 1901, "upload_time": "2019-05-07T07:48:00", "url": "https://files.pythonhosted.org/packages/1c/80/cdc8d4971063568821c75ec896abd3bbb9c2f3b2af20639b404cb5171935/lowhaio_chunked-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "7d136f3350216546c00f0752ca47b211", "sha256": "e2dd68c4282f85d04d27681e588c380e240a8cd8b9895bc19cc3795c0f30f80a" }, "downloads": -1, "filename": "lowhaio_chunked-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "7d136f3350216546c00f0752ca47b211", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.3", "size": 3018, "upload_time": "2019-05-20T05:08:36", "url": "https://files.pythonhosted.org/packages/8c/75/d6726e9dced8660ab90219ecead0b87e0656c2ca8c55c19b74a89cc45723/lowhaio_chunked-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "03cf43f0b786edaa3bd09b68e23c7013", "sha256": "f832dad52649decdc3239fea96d63203eb54fa5403e1b973516b1db0ce04ab6f" }, "downloads": -1, "filename": "lowhaio_chunked-0.0.3.tar.gz", "has_sig": false, "md5_digest": "03cf43f0b786edaa3bd09b68e23c7013", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.3", "size": 1869, "upload_time": "2019-05-20T05:08:37", "url": "https://files.pythonhosted.org/packages/26/34/a72a833222df6fdb7b945edf034b392da82c090c2c461e5e1de139261991/lowhaio_chunked-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "8e5a6938fab5a7149e16b97ac7d72ab7", "sha256": "ca3a34c1e55505250b9853302ed59d6b1386cfc4234c7acc179de3e2e4f37364" }, "downloads": -1, "filename": "lowhaio_chunked-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "8e5a6938fab5a7149e16b97ac7d72ab7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.3", "size": 3019, "upload_time": "2019-05-20T06:11:07", "url": "https://files.pythonhosted.org/packages/e9/1a/3cc6d436e34d48f0984c8327dcdf0dc4d08e979de8da23f8f81fd6409e68/lowhaio_chunked-0.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f783e3326fc97c0e1f355c2397ec4adb", "sha256": "02276f840a1deae23b077866db62e84b466e81988a1eeb76fe35168a479855bc" }, "downloads": -1, "filename": "lowhaio_chunked-0.0.4.tar.gz", "has_sig": false, "md5_digest": "f783e3326fc97c0e1f355c2397ec4adb", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.3", "size": 1867, "upload_time": "2019-05-20T06:11:09", "url": "https://files.pythonhosted.org/packages/61/f1/33d239cb9932683079196920d18488d1c98d48f4e162aaeea350b2fde9e0/lowhaio_chunked-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "d0d872cb85789412baa5d2e05ba237c4", "sha256": "b3f0f7e90b734227d2d9c372e9b510829ae6879704e34f09b8c6eccc6597d61d" }, "downloads": -1, "filename": "lowhaio_chunked-0.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "d0d872cb85789412baa5d2e05ba237c4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.3", "size": 3021, "upload_time": "2019-05-20T17:56:24", "url": "https://files.pythonhosted.org/packages/ba/08/948be700acec606e21c05bce2809b195611ec44f922262ef8c07cb16a135/lowhaio_chunked-0.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "53e04ca5f2256c752bcfb1a8dc244b09", "sha256": "eee28e1dabd2babd17ba5170d090fc85a5aece6d9ee9e73a0323f80327543f30" }, "downloads": -1, "filename": "lowhaio_chunked-0.0.5.tar.gz", "has_sig": false, "md5_digest": "53e04ca5f2256c752bcfb1a8dc244b09", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.3", "size": 1873, "upload_time": "2019-05-20T17:56:25", "url": "https://files.pythonhosted.org/packages/ef/e2/c2d2ffd33e90ae762c8cd8c6041ac7cad4a64ae0d06580419a047c3c419a/lowhaio_chunked-0.0.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d0d872cb85789412baa5d2e05ba237c4", "sha256": "b3f0f7e90b734227d2d9c372e9b510829ae6879704e34f09b8c6eccc6597d61d" }, "downloads": -1, "filename": "lowhaio_chunked-0.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "d0d872cb85789412baa5d2e05ba237c4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.3", "size": 3021, "upload_time": "2019-05-20T17:56:24", "url": "https://files.pythonhosted.org/packages/ba/08/948be700acec606e21c05bce2809b195611ec44f922262ef8c07cb16a135/lowhaio_chunked-0.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "53e04ca5f2256c752bcfb1a8dc244b09", "sha256": "eee28e1dabd2babd17ba5170d090fc85a5aece6d9ee9e73a0323f80327543f30" }, "downloads": -1, "filename": "lowhaio_chunked-0.0.5.tar.gz", "has_sig": false, "md5_digest": "53e04ca5f2256c752bcfb1a8dc244b09", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.3", "size": 1873, "upload_time": "2019-05-20T17:56:25", "url": "https://files.pythonhosted.org/packages/ef/e2/c2d2ffd33e90ae762c8cd8c6041ac7cad4a64ae0d06580419a047c3c419a/lowhaio_chunked-0.0.5.tar.gz" } ] }