[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-70797":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":23,"hasPages":25,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":32,"readmeContent":33,"aiSummary":34,"trendingCount":16,"starSnapshotCount":16,"syncStatus":35,"lastSyncTime":36,"discoverSource":37},70797,"uvicorn","Kludex\u002Fuvicorn","Kludex","An ASGI web server, for Python. 🦄","https:\u002F\u002Fuvicorn.dev",null,"Python",10751,964,97,18,0,15,36,99,45,116.85,"BSD 3-Clause \"New\" or \"Revised\" License",false,"main",true,[27,28,29,30,31],"asgi","asyncio","http","http-server","python","2026-06-12 04:00:57","\u003Cp align=\"center\">\n  \u003Cimg width=\"320\" height=\"320\" src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Ftomchristie\u002Fuvicorn\u002Fmain\u002Fdocs\u002Fuvicorn.png\" alt='uvicorn'>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n\u003Cem>An ASGI web server, for Python.\u003C\u002Fem>\n\u003C\u002Fp>\n\n---\n\n[![Build Status](https:\u002F\u002Fgithub.com\u002FKludex\u002Fuvicorn\u002Fworkflows\u002FTest%20Suite\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002FKludex\u002Fuvicorn\u002Factions)\n[![Package version](https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Fuvicorn.svg)](https:\u002F\u002Fpypi.python.org\u002Fpypi\u002Fuvicorn)\n[![Supported Python Version](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fpyversions\u002Fuvicorn.svg?color=%2334D058)](https:\u002F\u002Fpypi.org\u002Fproject\u002Fuvicorn)\n[![Discord](https:\u002F\u002Fimg.shields.io\u002Fdiscord\u002F1051468649518616576?logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https:\u002F\u002Fdiscord.gg\u002FRxKUF5JuHs)\n\n---\n\n**Documentation**: [https:\u002F\u002Fuvicorn.dev](https:\u002F\u002Fuvicorn.dev)\n\n**Source Code**: [https:\u002F\u002Fwww.github.com\u002FKludex\u002Fuvicorn](https:\u002F\u002Fwww.github.com\u002FKludex\u002Fuvicorn)\n\n---\n\nUvicorn is an ASGI web server implementation for Python.\n\nUntil recently Python has lacked a minimal low-level server\u002Fapplication interface for\nasync frameworks. The [ASGI specification][asgi] fills this gap, and means we're now able to\nstart building a common set of tooling usable across all async frameworks.\n\nUvicorn supports HTTP\u002F1.1 and WebSockets.\n\n## Quickstart\n\nInstall using `pip`:\n\n```shell\n$ pip install uvicorn\n```\n\nThis will install uvicorn with minimal (pure Python) dependencies.\n\n```shell\n$ pip install 'uvicorn[standard]'\n```\n\nThis will install uvicorn with \"Cython-based\" dependencies (where possible) and other \"optional extras\".\n\nIn this context, \"Cython-based\" means the following:\n\n- the event loop `uvloop` will be installed and used if possible.\n- the http protocol will be handled by `httptools` if possible.\n\nMoreover, \"optional extras\" means that:\n\n- the websocket protocol will be handled by `websockets` (should you want to use `wsproto` you'd need to install it manually) if possible.\n- the `--reload` flag in development mode will use `watchfiles`.\n- windows users will have `colorama` installed for the colored logs.\n- `python-dotenv` will be installed should you want to use the `--env-file` option.\n- `PyYAML` will be installed to allow you to provide a `.yaml` file to `--log-config`, if desired.\n\nCreate an application, in `example.py`:\n\n```python\nasync def app(scope, receive, send):\n    assert scope['type'] == 'http'\n\n    await send({\n        'type': 'http.response.start',\n        'status': 200,\n        'headers': [\n            (b'content-type', b'text\u002Fplain'),\n        ],\n    })\n    await send({\n        'type': 'http.response.body',\n        'body': b'Hello, world!',\n    })\n```\n\nRun the server:\n\n```shell\n$ uvicorn example:app\n```\n\n---\n\n## Why ASGI?\n\nMost well established Python Web frameworks started out as WSGI-based frameworks.\n\nWSGI applications are a single, synchronous callable that takes a request and returns a response.\nThis doesn’t allow for long-lived connections, like you get with long-poll HTTP or WebSocket connections,\nwhich WSGI doesn't support well.\n\nHaving an async concurrency model also allows for options such as lightweight background tasks,\nand can be less of a limiting factor for endpoints that have long periods being blocked on network\nI\u002FO such as dealing with slow HTTP requests.\n\n---\n\n## Alternative ASGI servers\n\nA strength of the ASGI protocol is that it decouples the server implementation\nfrom the application framework. This allows for an ecosystem of interoperating\nwebservers and application frameworks.\n\n### Daphne\n\nThe first ASGI server implementation, originally developed to power Django Channels, is [the Daphne webserver][daphne].\n\nIt is run widely in production, and supports HTTP\u002F1.1, HTTP\u002F2, and WebSockets.\n\nAny of the example applications given here can equally well be run using `daphne` instead.\n\n```\n$ pip install daphne\n$ daphne app:App\n```\n\n### Hypercorn\n\n[Hypercorn][hypercorn] was initially part of the Quart web framework, before\nbeing separated out into a standalone ASGI server.\n\nHypercorn supports HTTP\u002F1.1, HTTP\u002F2, and WebSockets.\n\nIt also supports [the excellent `trio` async framework][trio], as an alternative to `asyncio`.\n\n```\n$ pip install hypercorn\n$ hypercorn app:App\n```\n\n### Mangum\n\n[Mangum][mangum] is an adapter for using ASGI applications with AWS Lambda & API Gateway.\n\n### Granian\n\n[Granian][granian] is an ASGI compatible Rust HTTP server which supports HTTP\u002F2, TLS and WebSockets.\n\n---\n\n\u003Cp align=\"center\">\u003Ci>Uvicorn is \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FKludex\u002Fuvicorn\u002Fblob\u002Fmain\u002FLICENSE.md\">BSD licensed\u003C\u002Fa> code.\u003Cbr\u002F>Designed & crafted with care.\u003C\u002Fi>\u003Cbr\u002F>&mdash; 🦄  &mdash;\u003C\u002Fp>\n\n[asgi]: https:\u002F\u002Fasgi.readthedocs.io\u002Fen\u002Flatest\u002F\n[daphne]: https:\u002F\u002Fgithub.com\u002Fdjango\u002Fdaphne\n[hypercorn]: https:\u002F\u002Fgithub.com\u002Fpgjones\u002Fhypercorn\n[trio]: https:\u002F\u002Ftrio.readthedocs.io\n[mangum]: https:\u002F\u002Fgithub.com\u002Fjordaneremieff\u002Fmangum\n[granian]: https:\u002F\u002Fgithub.com\u002Femmett-framework\u002Fgranian\n","Uvicorn 是一个用于 Python 的 ASGI 网络服务器。它支持 HTTP\u002F1.1 和 WebSocket，基于 asyncio 构建，能够高效处理异步请求。Uvicorn 通过使用高性能的 Cython 库如 uvloop 和 httptools 来优化性能，并且提供了一个简洁的接口来快速启动和运行 ASGI 应用程序。适用于需要高性能异步处理能力的 Web 应用场景，特别是在构建长连接或实时通信应用时表现尤为出色。",2,"2026-06-11 03:34:13","high_star"]