{ "info": { "author": "Vlad Stefan Munteanu", "author_email": "vladstefanmunteanu@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: Implementation :: CPython" ], "description": "===================\nAsync HTTP/2 Client\n===================\n\nA simple asynchronous HTTP/2 client for Tornado_ applications, based on the awesome h2_ library.\n\nIntended for Python 2 (>= 2.7.9).\n\nThis package is in a very early development stage, so expect bugs or changes in the API.\nIf you spot anything wrong, or would like to suggest improvements, please open an issue or a pull request.\n\n\n=======\nExample\n=======\n\nUsage in a coroutine may be:\n\n.. code-block:: python\n\n from th2c import AsyncHTTP2Client\n from tornado.httpclient import HTTPRequest\n\n client = AsyncHTTP2Client(\n host='nghttp2.org', port=443, secure=True,\n )\n\n request = HTTPRequest(\n url='https://nghttp2.org/httpbin/get',\n method='GET',\n )\n\n res = yield client.fetch(request)\n\n\n====\nTODO\n====\n\n- moar tests :)\n- SERVER_PUSH\n- follow_redirects\n- priority control\n\n\n=================\nDevelopment setup\n=================\n\nIf you wish to create a development environment to work on th2c, you can use a Vagrant setup or a virtual environment.\nThe Vagrant setup is located under vm_, an Ubuntu 16.04 64bit box with Go and Python 2 installed, that maps the project directory under ``/opt/dev/th2c``.\n\nFor a minimal set of \"integration tests\", a Go web server is included in test_server_ that simply echoes back what it receives.\n\nYou can run it in debug mode, from the project directory, by executing:\n\n ``GODEBUG=http2debug=1 go run test_server/main.go``.\n\nAfter the server has started, you should run the client by executing:\n\n ``python -m th2c``.\n\nLog files should be produced under /opt/dev/th2c/logs.\n\nYou can also run unit tests with: ``nosetests tests``\n\n.. _Tornado: http://www.tornadoweb.org/\n.. _h2: https://python-hyper.org/h2/\n.. _vm: https://github.com/vladmunteanu/th2c/tree/master/vm\n.. _test_server: https://github.com/vladmunteanu/th2c/tree/master/test_server", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/vladmunteanu/th2c", "keywords": "", "license": "MIT License", "maintainer": "", "maintainer_email": "", "name": "th2c", "package_url": "https://pypi.org/project/th2c/", "platform": "", "project_url": "https://pypi.org/project/th2c/", "project_urls": { "Homepage": "https://github.com/vladmunteanu/th2c" }, "release_url": "https://pypi.org/project/th2c/0.4.1/", "requires_dist": null, "requires_python": "", "summary": "HTTP/2 Async Client written with h2, for tornado", "version": "0.4.1" }, "last_serial": 5815886, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "553fea4408a5de9f8e1247cb5a07ca44", "sha256": "1a64a472901dcfaff9b7ff515c04fef4ead603abd15881cc50d0fdafb8da8233" }, "downloads": -1, "filename": "th2c-0.1.0.tar.gz", "has_sig": false, "md5_digest": "553fea4408a5de9f8e1247cb5a07ca44", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13815, "upload_time": "2017-11-15T07:36:44", "url": "https://files.pythonhosted.org/packages/63/a1/7e408a2b3ddba3d474a90e606d194f5764c67699e937a76434e5ed67963f/th2c-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "95d5ca2180d2405b7567cecc99ab057b", "sha256": "394d8067f0436b669f928dc0d9ccf117094d97c82febf70c31c2bddd05309358" }, "downloads": -1, "filename": "th2c-0.1.1.tar.gz", "has_sig": false, "md5_digest": "95d5ca2180d2405b7567cecc99ab057b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13823, "upload_time": "2017-11-15T08:42:43", "url": "https://files.pythonhosted.org/packages/cc/da/b60b04dfc83bbdbfead72cc8ab03084a83bd64c742883f8f553673c9f5b0/th2c-0.1.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "4556ce28351c4556a70d4f947599cd1c", "sha256": "66a4f3ce03bbda00a4844b6b3c7447484e2a175c3eab70bdeab8225d5f098200" }, "downloads": -1, "filename": "th2c-0.2.0.tar.gz", "has_sig": false, "md5_digest": "4556ce28351c4556a70d4f947599cd1c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14065, "upload_time": "2017-11-20T14:27:45", "url": "https://files.pythonhosted.org/packages/5b/18/4544b256b0544ea75739c0a7289a9086e0521c5e02b07521ae1055bc9716/th2c-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "f2cc2c5b695e5a54dd90d4b1ad745508", "sha256": "fa43daf5f1d3d262fc487a94832f2171374e39c8c1829be2a9518415f57dc8aa" }, "downloads": -1, "filename": "th2c-0.2.1.tar.gz", "has_sig": false, "md5_digest": "f2cc2c5b695e5a54dd90d4b1ad745508", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14048, "upload_time": "2017-12-12T09:54:01", "url": "https://files.pythonhosted.org/packages/b0/ff/911533ed8e984aa850b746b9b4c6545b4cb5d0bf065162ebf02a69501b1f/th2c-0.2.1.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "b9ad10f3f493cf0c2fe8d38583e39a08", "sha256": "822c882fc54b8e0c0a4a262245a43533cf18f350796efafe730c59d3ed04de27" }, "downloads": -1, "filename": "th2c-0.3.0.tar.gz", "has_sig": false, "md5_digest": "b9ad10f3f493cf0c2fe8d38583e39a08", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13038, "upload_time": "2018-01-30T13:00:47", "url": "https://files.pythonhosted.org/packages/7a/0b/e97246f49b1072b454096ec9723db23d9849f59d1e833eb06794d163046a/th2c-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "9d725a44fa820519e3eaa9bf374ee91f", "sha256": "ba7dc3bcf12f76613e7706968378e4721840ab3251e99dcc1d9e13116b53f91f" }, "downloads": -1, "filename": "th2c-0.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "9d725a44fa820519e3eaa9bf374ee91f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 15053, "upload_time": "2018-08-30T08:10:52", "url": "https://files.pythonhosted.org/packages/00/b7/43c97d9311eafb41b5dc327f2ea359687a08fdf787aa663312d41b7ba607/th2c-0.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c4d06b6da3933cd8417b36888b4e913f", "sha256": "b2b4af456cd2447928b68a27d5fb7366febad3e029dd04a7f93c50b4bf1b59c3" }, "downloads": -1, "filename": "th2c-0.3.1.tar.gz", "has_sig": false, "md5_digest": "c4d06b6da3933cd8417b36888b4e913f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13032, "upload_time": "2018-08-30T08:10:53", "url": "https://files.pythonhosted.org/packages/5b/b1/7b85f92bf3f507a8d83968f4d2f016093ea568f44536392ca310311eb1e4/th2c-0.3.1.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "b4b4ec3e7cf2ce9c2952fe29e0ccf130", "sha256": "80929616c099b2d8120c660a7c446363efd412efc7fc7a328ddc476fabffaa6c" }, "downloads": -1, "filename": "th2c-0.4.1.tar.gz", "has_sig": false, "md5_digest": "b4b4ec3e7cf2ce9c2952fe29e0ccf130", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13117, "upload_time": "2019-09-11T16:24:42", "url": "https://files.pythonhosted.org/packages/7c/ae/4301d060e86c6a46af96fedc959a5239dc1e73660ef6881062842e35387c/th2c-0.4.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b4b4ec3e7cf2ce9c2952fe29e0ccf130", "sha256": "80929616c099b2d8120c660a7c446363efd412efc7fc7a328ddc476fabffaa6c" }, "downloads": -1, "filename": "th2c-0.4.1.tar.gz", "has_sig": false, "md5_digest": "b4b4ec3e7cf2ce9c2952fe29e0ccf130", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13117, "upload_time": "2019-09-11T16:24:42", "url": "https://files.pythonhosted.org/packages/7c/ae/4301d060e86c6a46af96fedc959a5239dc1e73660ef6881062842e35387c/th2c-0.4.1.tar.gz" } ] }