{"id":18378618,"url":"https://github.com/creatcodebuild/hyper2web","last_synced_at":"2025-08-25T00:31:49.246Z","repository":{"id":46084566,"uuid":"89294587","full_name":"CreatCodeBuild/hyper2web","owner":"CreatCodeBuild","description":"Super Fast Backend Framework (Educational Purpose)","archived":false,"fork":false,"pushed_at":"2022-12-26T20:27:39.000Z","size":396,"stargazers_count":27,"open_issues_count":13,"forks_count":5,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-12-19T18:46:11.507Z","etag":null,"topics":["backend","corountine","framework","http2","python","web"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CreatCodeBuild.png","metadata":{"files":{"readme":"README.rst","changelog":"HISTORY.rst","contributing":"CONTRIBUTING.rst","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-04-24T23:01:24.000Z","updated_at":"2023-08-18T13:24:55.000Z","dependencies_parsed_at":"2023-01-31T01:15:50.908Z","dependency_job_id":null,"html_url":"https://github.com/CreatCodeBuild/hyper2web","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CreatCodeBuild%2Fhyper2web","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CreatCodeBuild%2Fhyper2web/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CreatCodeBuild%2Fhyper2web/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CreatCodeBuild%2Fhyper2web/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CreatCodeBuild","download_url":"https://codeload.github.com/CreatCodeBuild/hyper2web/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230852590,"owners_count":18290081,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["backend","corountine","framework","http2","python","web"],"created_at":"2024-11-06T00:34:31.455Z","updated_at":"2024-12-22T15:48:17.937Z","avatar_url":"https://github.com/CreatCodeBuild.png","language":"Python","readme":"=========\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","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcreatcodebuild%2Fhyper2web","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcreatcodebuild%2Fhyper2web","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcreatcodebuild%2Fhyper2web/lists"}