这个项目能做什么

Starlette 是一个轻量级的 ASGI(异步服务器网关接口)框架,专为在 Python 中构建异步 Web 应用程序而设计。它提供了核心功能,包括 HTTP 路由、WebSocket 处理、后台任务执行、启动/关闭事件、CORS、GZip 压缩、静态文件服务、流式响应、会话/Cookie 管理以及完整的测试覆盖。代码库完全类型标注,同时支持 asyncio 和 trio 后端。 Starlette 可作为独立框架使用,也可作为工具包——其组件是模块化的,可独立集成到其他 ASGI 兼容项目中。它仅需 'anyio' 作为硬性依赖;可选功能如测试客户端、Jinja2 模板、OpenTelemetry 中间件、表单解析、会话支持和 schema 生成则需要额外包,可通过 'starlette[full]' 安装。 性能基准测试表明它与其它框架竞争力相当。可与 Uvicorn 等 ASGI 服务器配合部署。该项目采用 BSD 许可,强调清晰的 API 设计,鼓励在整个 ASGI 生态系统中创建可复用的中间件和可挂载的应用程序。