{"id":13468730,"url":"https://github.com/pallets/quart","last_synced_at":"2025-05-13T15:06:07.373Z","repository":{"id":37451133,"uuid":"110288200","full_name":"pallets/quart","owner":"pallets","description":"An async Python micro framework for building web applications. ","archived":false,"fork":false,"pushed_at":"2024-12-24T20:19:23.000Z","size":2802,"stargazers_count":3265,"open_issues_count":54,"forks_count":176,"subscribers_count":34,"default_branch":"main","last_synced_at":"2025-04-23T18:44:56.977Z","etag":null,"topics":["asgi","asyncio","http-server","python","quart"],"latest_commit_sha":null,"homepage":"https://quart.palletsprojects.com","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pallets.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGES.rst","contributing":"CONTRIBUTING.rst","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"pallets","custom":"https://palletsprojects.com/donate","tidelift":"pypi/Flask"}},"created_at":"2017-11-10T20:10:33.000Z","updated_at":"2025-04-23T07:00:20.000Z","dependencies_parsed_at":"2023-10-05T03:53:11.662Z","dependency_job_id":"4fc383ab-9abd-4d68-83b6-c7bb619827b2","html_url":"https://github.com/pallets/quart","commit_stats":{"total_commits":1118,"total_committers":105,"mean_commits":"10.647619047619047","dds":"0.17084078711985684","last_synced_commit":"2fc6d4fa6e3df017e8eef1411ec80b5a6dce25a5"},"previous_names":[],"tags_count":62,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pallets%2Fquart","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pallets%2Fquart/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pallets%2Fquart/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pallets%2Fquart/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pallets","download_url":"https://codeload.github.com/pallets/quart/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252552602,"owners_count":21766730,"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":["asgi","asyncio","http-server","python","quart"],"created_at":"2024-07-31T15:01:17.652Z","updated_at":"2025-05-05T18:28:55.145Z","avatar_url":"https://github.com/pallets.png","language":"Python","readme":"Quart\n=====\n\n.. image:: https://raw.githubusercontent.com/pallets/quart/main/artwork/logo.png\n   :alt: Quart logo\n\n|Build Status| |docs| |pypi| |python| |license| |chat|\n\nQuart is an async Python web microframework. Using Quart you can,\n\n* render and serve HTML templates,\n* write (RESTful) JSON APIs,\n* serve WebSockets,\n* stream request and response data,\n* do pretty much anything over the HTTP or WebSocket protocols.\n\nQuickstart\n----------\n\nQuart can be installed via `pip\n\u003chttps://docs.python.org/3/installing/index.html\u003e`_,\n\n.. code-block:: console\n\n    $ pip install quart\n\nand requires Python 3.9.0 or higher (see `python version support\n\u003chttps://quart.palletsprojects.com/en/latest/discussion/python_versions.html\u003e`_\nfor reasoning).\n\nA minimal Quart example is,\n\n.. code-block:: python\n\n    from quart import Quart, render_template, websocket\n\n    app = Quart(__name__)\n\n    @app.route(\"/\")\n    async def hello():\n        return await render_template(\"index.html\")\n\n    @app.route(\"/api\")\n    async def json():\n        return {\"hello\": \"world\"}\n\n    @app.websocket(\"/ws\")\n    async def ws():\n        while True:\n            await websocket.send(\"hello\")\n            await websocket.send_json({\"hello\": \"world\"})\n\n    if __name__ == \"__main__\":\n        app.run()\n\nif the above is in a file called ``app.py`` it can be run as,\n\n.. code-block:: console\n\n    $ python app.py\n\nTo deploy this app in a production setting see the `deployment\n\u003chttps://quart.palletsprojects.com/en/latest/tutorials/deployment.html\u003e`_\ndocumentation.\n\nContributing\n------------\n\nQuart is developed on `GitHub \u003chttps://github.com/pallets/quart\u003e`_. If\nyou come across an issue, or have a feature request please open an\n`issue \u003chttps://github.com/pallets/quart/issues\u003e`_. If you want to\ncontribute a fix or the feature-implementation please do (typo fixes\nwelcome), by proposing a `merge request\n\u003chttps://github.com/pallets/quart/pulls\u003e`_.\n\nTesting\n^^^^^^^\n\nThe best way to test Quart is with `Tox\n\u003chttps://tox.readthedocs.io\u003e`_,\n\n.. code-block:: console\n\n    $ pip install tox\n    $ tox\n\nthis will check the code style and run the tests.\n\nHelp\n----\n\nThe Quart `documentation \u003chttps://quart.palletsprojects.com\u003e`_ or\n`cheatsheet\n\u003chttps://quart.palletsprojects.com/en/latest/reference/cheatsheet.html\u003e`_\nare the best places to start, after that try searching `stack overflow\n\u003chttps://stackoverflow.com/questions/tagged/quart\u003e`_ or ask for help\n`on discord \u003chttps://discord.gg/pallets\u003e`_. If you still\ncan't find an answer please `open an issue\n\u003chttps://github.com/pallets/quart/issues\u003e`_.\n\nRelationship with Flask\n-----------------------\n\nQuart is an asyncio reimplementation of the popular `Flask\n\u003chttps://flask.palletsprojects.com\u003e`_ microframework API. This means that if you\nunderstand Flask you understand Quart.\n\nLike Flask, Quart has an ecosystem of extensions for more specific\nneeds. In addition a number of the Flask extensions work with Quart.\n\nMigrating from Flask\n^^^^^^^^^^^^^^^^^^^^\n\nIt should be possible to migrate to Quart from Flask by a find and\nreplace of ``flask`` to ``quart`` and then adding ``async`` and\n``await`` keywords. See the `docs\n\u003chttps://quart.palletsprojects.com/en/latest/how_to_guides/flask_migration.html\u003e`_\nfor more help.\n\n\n.. |Build Status| image:: https://github.com/pallets/quart/actions/workflows/tests.yaml/badge.svg\n   :target: https://github.com/pallets/quart/commits/main\n\n.. |docs| image:: https://img.shields.io/badge/docs-passing-brightgreen.svg\n   :target: https://quart.palletsprojects.com\n\n.. |pypi| image:: https://img.shields.io/pypi/v/quart.svg\n   :target: https://pypi.python.org/pypi/Quart/\n\n.. |python| image:: https://img.shields.io/pypi/pyversions/quart.svg\n   :target: https://pypi.python.org/pypi/Quart/\n\n.. |license| image:: https://img.shields.io/badge/license-MIT-blue.svg\n   :target: https://github.com/pallets/quart/blob/main/LICENSE\n\n.. |chat| image:: https://img.shields.io/badge/chat-join_now-brightgreen.svg\n   :target: https://discord.gg/pallets\n","funding_links":["https://github.com/sponsors/pallets","https://palletsprojects.com/donate","https://tidelift.com/funding/github/pypi/Flask"],"categories":["Python","python","HarmonyOS","后端开发框架及项目","Web Frameworks","Full-stack frameworks, but data-layer agnostic"],"sub_categories":["Windows Manager","管理面板"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpallets%2Fquart","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpallets%2Fquart","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpallets%2Fquart/lists"}