{ "info": { "author": "Xuanzhe Wang", "author_email": "wangxuanzhealbert@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "Natural Language :: English", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6" ], "description": "=========\nHyper2Web\n=========\nSuper Fast HTTP2 Framework for Progressive Web Application\n\nInstallation\n############\n\nTo install Hyper2Web, run this command in your terminal:\n\n.. code-block:: console\n\n $ # due to a known issue, please install Curio manually\n $ pip install git+https://github.com/dabeaz/curio.git\n $ pip install hyper2web\n\nThis is the preferred method to install Hyper2Web, as it will always install the most recent stable release.\n\nIf you don't have `pip`_ installed, this `Python installation guide`_ can guide\nyou through the process.\n\n.. _pip: https://pip.pypa.io\n.. _Python installation guide: http://docs.python-guide.org/en/latest/starting/installation/\n\n\nDependency\n##########\n\nPython3.6\n\nh2\n\ncurio\n\n\nQuick Start\n###########\n\nAssuming you have a directory structure like::\n\n\tyour project/\n\t--public/\n\t --index.html\n\t --index.js\n\t ...\n\t--app.py\n\nYour ``app.py`` looks like\n\n.. code-block:: python\n\n\tfrom hyper2web import app\n\n\tif __name__ == '__main__':\n\n\t\t# A basic callback style API is provided\n\t\t# Function name is up to you\n\t\tasync def post_echo(request, response):\n\t\t\t# Send the data received back to the client\n\t\t\tawait response.send(request.stream.data)\n\n\t\tapp = app.App(port=5000)\n\t\tapp.post('name', post_echo)\n\t\tapp.up()\n\n\nThen run this script\n\n.. code-block:: console\n\n\t$ python app.py\n\nThat's it!\n\nIf you just want to serve static files, it's just 2 lines!\n\n.. code-block:: python\n\n\tfrom hyper2web import app\n\tapp.App(port=5000).up()\n\n\nDocs\n####\nDocumentation is hosted on hyper2web.readthedocs.io_.\n\n.. _hyper2web.readthedocs.io: http://hyper2web.readthedocs.io\n\nExample\n#######\n\nSee the example folders for examples.\n\nTest\n####\n\n.. code-block:: console\n\n\t$ python -m unittest discover test\n\nRun all tests under ``test/`` dir.\n\n\nMisc\n####\n\nWhy did I create this framework?\n********************************\n\nApril 23rd, 2017, Sunday, I woke up and felt bored and decided to create my own HTTP2 web framework.\n\nSince I had little or some prior web knowledge, this would be a super learning and fun project for me.\n\n\n=======\nHistory\n=======\n\n0.0.0 (2017-06-08)\n------------------\n\n* First release on PyPI.", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/CreatCodeBuild/hyper2web", "keywords": "hyper2web", "license": "", "maintainer": "", "maintainer_email": "", "name": "hyper2web", "package_url": "https://pypi.org/project/hyper2web/", "platform": "", "project_url": "https://pypi.org/project/hyper2web/", "project_urls": { "Homepage": "https://github.com/CreatCodeBuild/hyper2web" }, "release_url": "https://pypi.org/project/hyper2web/0.0.6/", "requires_dist": null, "requires_python": "", "summary": "Coroutine based H2 Web backend framework built for the future.", "version": "0.0.6" }, "last_serial": 3141610, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "a96db54f485b3372c9e53d096009cd2b", "sha256": "8e57af24612acd4fe53a1d6ad8cfc7460b7cf1cc63eabc71fe1c8af5d1a33a30" }, "downloads": -1, "filename": "hyper2web-0.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a96db54f485b3372c9e53d096009cd2b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12147, "upload_time": "2017-06-09T03:26:09", "url": "https://files.pythonhosted.org/packages/bd/96/db38bedfaafcdaf4418701ac8596b3c820eea73e8e278dfac3def71a3a02/hyper2web-0.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1fe01456e947d7618d9e9b3d06dcd572", "sha256": "a300a2aa6b3ffec9b4f0fe1a41cfa6989781fd56e43caabbdd4abb6eaaed823a" }, "downloads": -1, "filename": "hyper2web-0.0.1.tar.gz", "has_sig": false, "md5_digest": "1fe01456e947d7618d9e9b3d06dcd572", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18052, "upload_time": "2017-06-09T03:26:10", "url": "https://files.pythonhosted.org/packages/d0/c7/6332766d0e47c3973429d0c653216dfa1b4acf10909ff32bc47546ea9ebf/hyper2web-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "d55d3f655a34c5274bd97fb0b7b8aa39", "sha256": "383f39e3b20e05c6aa7dc1bab7cbb8ced563acf603b99410ab5d50c80e11f94b" }, "downloads": -1, "filename": "hyper2web-0.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d55d3f655a34c5274bd97fb0b7b8aa39", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 14004, "upload_time": "2017-06-26T23:26:21", "url": "https://files.pythonhosted.org/packages/e8/c5/1f2866fd520be16bb394a4c7d2f944e68f9a492788b95acefc063a599d96/hyper2web-0.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "105c9a356c107382fb3300a80ec62d02", "sha256": "797839973c44bbbcebaa69a55081759a6dfc755e24b7725131f21f3916bd78f3" }, "downloads": -1, "filename": "hyper2web-0.0.2.tar.gz", "has_sig": false, "md5_digest": "105c9a356c107382fb3300a80ec62d02", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21323, "upload_time": "2017-06-26T23:26:01", "url": "https://files.pythonhosted.org/packages/d9/f8/4e4ab7dd726ca244531b57acf19856c7d39d2e3c7884e6ff0bf93ad44345/hyper2web-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "38d65b726e08aca06b4011fecbdabbc4", "sha256": "18945a2164ae6ddb6699ed380302e3d1e676318111b158f0bccd51fd784780b8" }, "downloads": -1, "filename": "hyper2web-0.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "38d65b726e08aca06b4011fecbdabbc4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14168, "upload_time": "2017-08-17T09:36:14", "url": "https://files.pythonhosted.org/packages/e3/7c/c2422aed001c0a918d2cd21358bd53b8499437efe0344c52f25673246828/hyper2web-0.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5178b27c239412991ad4cb060e5b6ffe", "sha256": "e961f6a5294d306e7cd225dd0d156ed7e275bfd1d6ea66b1c837d2001c3bd258" }, "downloads": -1, "filename": "hyper2web-0.0.3.tar.gz", "has_sig": false, "md5_digest": "5178b27c239412991ad4cb060e5b6ffe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21766, "upload_time": "2017-08-17T09:36:15", "url": "https://files.pythonhosted.org/packages/75/5f/d13310a89ac32a2bde0ed8a7a8c61401e60931a1bbc783c0cda787554574/hyper2web-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "0c17832c17cb191b7039e1fda02be692", "sha256": "3504c3cc8f965c1a3a50ac1289adef7a47e4e498df9d1946ad2208d45ef27b6b" }, "downloads": -1, "filename": "hyper2web-0.0.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0c17832c17cb191b7039e1fda02be692", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14426, "upload_time": "2017-08-25T07:28:23", "url": "https://files.pythonhosted.org/packages/1e/2a/69b7eb5b74f17f2b2b0ddd0fba347796097115a015e8e65067ce0c289774/hyper2web-0.0.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "af67e4e62f75180b93dcb6cb348779e3", "sha256": "a0e7b284856ee4a99032d649693ee429755bcaf69248f24df05b2658c78a201e" }, "downloads": -1, "filename": "hyper2web-0.0.4.tar.gz", "has_sig": false, "md5_digest": "af67e4e62f75180b93dcb6cb348779e3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22351, "upload_time": "2017-08-25T07:28:25", "url": "https://files.pythonhosted.org/packages/29/0b/ab88bbe158088a2d6cc02b1797e376335a263a454780d18312dbfe881468/hyper2web-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "f8dddedf7979c5ca154f64dbc2b65d31", "sha256": "3d6572cc170d4a1272930aff04f29a86908942f65ca9aac2b18c6956842c8409" }, "downloads": -1, "filename": "hyper2web-0.0.5.tar.gz", "has_sig": false, "md5_digest": "f8dddedf7979c5ca154f64dbc2b65d31", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22220, "upload_time": "2017-08-25T21:18:01", "url": "https://files.pythonhosted.org/packages/ea/15/086a302615357717be076184dfc7a07548ccc0827c255b86dba73ca8c4e9/hyper2web-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "46a0ce94bc24ee0ee4ed4761cd4856c7", "sha256": "56b1f375a875b286f68e9c08397308c1ae1b31769ea95b09f68100745328d4d3" }, "downloads": -1, "filename": "hyper2web-0.0.6.tar.gz", "has_sig": false, "md5_digest": "46a0ce94bc24ee0ee4ed4761cd4856c7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22225, "upload_time": "2017-09-01T21:33:00", "url": "https://files.pythonhosted.org/packages/32/6d/503f7023bd08ce7f3797226211129f9d4de57ee566e3d30fe5b36fac6417/hyper2web-0.0.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "46a0ce94bc24ee0ee4ed4761cd4856c7", "sha256": "56b1f375a875b286f68e9c08397308c1ae1b31769ea95b09f68100745328d4d3" }, "downloads": -1, "filename": "hyper2web-0.0.6.tar.gz", "has_sig": false, "md5_digest": "46a0ce94bc24ee0ee4ed4761cd4856c7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22225, "upload_time": "2017-09-01T21:33:00", "url": "https://files.pythonhosted.org/packages/32/6d/503f7023bd08ce7f3797226211129f9d4de57ee566e3d30fe5b36fac6417/hyper2web-0.0.6.tar.gz" } ] }