{ "info": { "author": "", "author_email": "", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Operating System :: POSIX :: Linux", "Programming Language :: Python", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3 :: Only" ], "description": "mhtg: minimal h11/trio glue\n===========================\n\nfeatures\n--------\n\n- h11_, a transport agnostic standards-compliant http/1.1 implementation\n- trio_, an async/await-native IO library focused on usability and correctness\n\n.. _trio: https://github.com/python-trio/trio\n.. _h11: https://github.com/python-hyper/h11\n\nusage\n-----\n\ncontrived example:\n\n.. code-block:: python\n\n from functools import partial\n from mhtg import client, context, model\n import trio\n\n client_factory = partial(client.client_factory,\n server_hostname=\"google.com\",\n port=443)\n\n connection_manager = context.make_connection_manager(client_factory)\n\n def request_builder():\n request = h11.Request(method=\"GET\",\n target=\"/\",\n headers=[\n (\"host\", server_hostname),\n (\"content-length\", 0),\n ])\n\n return request,\n\n async def do():\n async with connection_manager() as reuse_connection:\n async with reuse_connection() as make_request:\n await make_request(*request_builder())\n\n trio.run(do)\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "", "keywords": "async,http,h11,trio", "license": "", "maintainer": "Zachary Buhman", "maintainer_email": "zack@buhman.org", "name": "mhtg", "package_url": "https://pypi.org/project/mhtg/", "platform": "", "project_url": "https://pypi.org/project/mhtg/", "project_urls": null, "release_url": "https://pypi.org/project/mhtg/0.0.3/", "requires_dist": [ "h11 (==0.8.1)", "trio (==0.11.0)" ], "requires_python": "", "summary": "mhtg", "version": "0.0.3" }, "last_serial": 5011578, "releases": { "0.0.0": [ { "comment_text": "", "digests": { "md5": "49b402233b8ce866bbd776c2c93578b7", "sha256": "e8c21b7bc5718446affc8ced35a9618e7b8d6c349e7a2d1ce0058946b504802e" }, "downloads": -1, "filename": "mhtg-0.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "49b402233b8ce866bbd776c2c93578b7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4079, "upload_time": "2019-04-01T05:23:56", "url": "https://files.pythonhosted.org/packages/25/28/5800d2116d6c5128d80bffe5c63e8380353c98a5532b16cc63ee2c55a023/mhtg-0.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0d8ad86dc0af12cb648a3eb4a9b42897", "sha256": "42009ee214ae2cd06fc22eeeead74711d9d2c7442e17645177b5b448deb349b6" }, "downloads": -1, "filename": "mhtg-0.0.0.tar.gz", "has_sig": false, "md5_digest": "0d8ad86dc0af12cb648a3eb4a9b42897", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3390, "upload_time": "2019-04-01T05:23:58", "url": "https://files.pythonhosted.org/packages/e6/12/ea19911b0031188814af632b9a26a8b97f2ca761fc620e940d886687b9c4/mhtg-0.0.0.tar.gz" } ], "0.0.1": [ { "comment_text": "", "digests": { "md5": "11950d7be02faa560aebb313b1b32614", "sha256": "d122dd82fec3bc22a4cbf6805701a3041817454d37bdd1f4dde813c18086eae8" }, "downloads": -1, "filename": "mhtg-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "11950d7be02faa560aebb313b1b32614", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4108, "upload_time": "2019-04-01T05:43:15", "url": "https://files.pythonhosted.org/packages/99/3d/e73ce5c2280b487c0e0b98836f1d88828eda02549357aa1781c3c360b6a0/mhtg-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "44dfb1cdf5e8954ab70de0bb9c55f770", "sha256": "334a68564ef8067254fd320e8ee741f5b87e2e1e92b108014f48240042e71c7d" }, "downloads": -1, "filename": "mhtg-0.0.1.tar.gz", "has_sig": false, "md5_digest": "44dfb1cdf5e8954ab70de0bb9c55f770", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3683, "upload_time": "2019-04-01T05:43:17", "url": "https://files.pythonhosted.org/packages/89/73/75b95a66e4083701ed6973de080174595ee184393b63c709fa44656f4823/mhtg-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "696b9a597e2e0ba5da8b00b5692a09d5", "sha256": "185e0556123d947840635b2749ac7eb3dbf965b55f3187e1da3217c40d88ed2e" }, "downloads": -1, "filename": "mhtg-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "696b9a597e2e0ba5da8b00b5692a09d5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4142, "upload_time": "2019-04-01T05:49:40", "url": "https://files.pythonhosted.org/packages/b1/23/a1c075e919d05ccc92571ba2fbaa947cb591ad39e833a323f4f5e3f80aea/mhtg-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c5aa841d1e3ea78ef95ea9291c17426a", "sha256": "5ace04197355397f4bd6cb8f245eb1936e94be1b29e4b4cd0d5b48205f61caf0" }, "downloads": -1, "filename": "mhtg-0.0.2.tar.gz", "has_sig": false, "md5_digest": "c5aa841d1e3ea78ef95ea9291c17426a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3731, "upload_time": "2019-04-01T05:49:42", "url": "https://files.pythonhosted.org/packages/16/05/b70e78e9911134b3a121961f0b479cffa965193eed0be26ed24dbd61cdc5/mhtg-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "d3347866e6ebb5360e0714ce8fb675ac", "sha256": "03633529afbf3d39e5c58484d250b0d6a0bfd9c8ad85315fb7faebcf921e81e2" }, "downloads": -1, "filename": "mhtg-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "d3347866e6ebb5360e0714ce8fb675ac", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4607, "upload_time": "2019-04-01T05:57:05", "url": "https://files.pythonhosted.org/packages/ad/ce/cae9c6c662d37284f510a87b8413096b41d97b818a649a23bbdf788ed3c8/mhtg-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c11dc262301c3152b4154db593b185e6", "sha256": "f6860686690091002e312f8e499fd2992b86a3421b864e96b8ee165f6dceb0b0" }, "downloads": -1, "filename": "mhtg-0.0.3.tar.gz", "has_sig": false, "md5_digest": "c11dc262301c3152b4154db593b185e6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3848, "upload_time": "2019-04-01T05:57:06", "url": "https://files.pythonhosted.org/packages/10/04/b810b0d99a06151ea5754b253cbc5698e3a10f8c1c856d69924c9c8f82ef/mhtg-0.0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d3347866e6ebb5360e0714ce8fb675ac", "sha256": "03633529afbf3d39e5c58484d250b0d6a0bfd9c8ad85315fb7faebcf921e81e2" }, "downloads": -1, "filename": "mhtg-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "d3347866e6ebb5360e0714ce8fb675ac", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4607, "upload_time": "2019-04-01T05:57:05", "url": "https://files.pythonhosted.org/packages/ad/ce/cae9c6c662d37284f510a87b8413096b41d97b818a649a23bbdf788ed3c8/mhtg-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c11dc262301c3152b4154db593b185e6", "sha256": "f6860686690091002e312f8e499fd2992b86a3421b864e96b8ee165f6dceb0b0" }, "downloads": -1, "filename": "mhtg-0.0.3.tar.gz", "has_sig": false, "md5_digest": "c11dc262301c3152b4154db593b185e6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3848, "upload_time": "2019-04-01T05:57:06", "url": "https://files.pythonhosted.org/packages/10/04/b810b0d99a06151ea5754b253cbc5698e3a10f8c1c856d69924c9c8f82ef/mhtg-0.0.3.tar.gz" } ] }