Repolode
Kludex

Kludex/starlette

一个轻量的 ASGI 框架与工具包,用于用 Python 构建异步 Web 服务。

Star
12,676
Fork
1,383
未关闭 Issue
46
最近提交
前天

这是什么?

Starlette 是一个轻量的 ASGI 框架与工具包,适合用 Python 构建异步 Web 服务。它提供路由、HTTP 与 WebSocket 处理、后台任务、启动与关闭事件,以及 CORS、GZip、会话等中间件。各组件可以单独使用,也可以组合成完整的框架。

核心依赖只有 anyio,测试客户端、Jinja2 模板、表单解析、会话等功能以可选依赖的形式安装。应用通常由 uvicorn 等 ASGI 服务器运行,同时兼容 asyncio 与 trio 后端。

由于组件遵循 ASGI 接口,中间件和可挂载的子应用原则上可以在其他 ASGI 框架之间复用。

核心功能

  • 01轻量的 HTTP 路由与请求、响应处理。
  • 02支持 WebSocket。
  • 03提供进程内后台任务及启动、关闭事件。
  • 04内置 CORS、GZip、静态文件和会话/Cookie 支持。
  • 05基于 httpx2 的测试客户端。
  • 06兼容 asyncio 与 trio 后端。

适用场景

  • 用 Python 构建异步 JSON API 或 Web 服务。
  • 在 Python 后端中添加 WebSocket 接口。
  • 在自定义技术栈中单独使用 ASGI 中间件或响应组件。

快速上手

  1. 1

    安装 Starlette

    pip install starlette
  2. 2

    安装 ASGI 服务器,例如 uvicorn

    pip install uvicorn
  3. 3

    将示例保存为 main.py,然后用 Uvicorn 运行

    uvicorn main:app

使用前须知

  • Starlette 是一个工具包,你需要自行组合服务器和可选依赖。
  • 部分功能需要额外安装 jinja2 或 python-multipart 等包。

标签

常见问题

starlette 是什么?
一个轻量的 ASGI 框架与工具包,用于用 Python 构建异步 Web 服务。 Starlette 是一个轻量的 ASGI 框架与工具包,适合用 Python 构建异步 Web 服务。它提供路由、HTTP 与 WebSocket 处理、后台任务、启动与关闭事件,以及 CORS、GZip、会话等中间件。各组件可以单独使用,也可以组合成完整的框架。
starlette 可以免费使用吗?用的什么许可证?
starlette 以 BSD-3-Clause 许可证开源。用于商业产品前,请先确认许可证条款。
starlette 还在维护吗?
活跃维护中。starlette 最近一次提交是在 2026年10月18日。
starlette 适合用来做什么?
用 Python 构建异步 JSON API 或 Web 服务。 在 Python 后端中添加 WebSocket 接口。 在自定义技术栈中单独使用 ASGI 中间件或响应组件。
starlette 怎么安装和运行?
安装 Starlette: pip install starlette 安装 ASGI 服务器,例如 uvicorn: pip install uvicorn 将示例保存为 main.py,然后用 Uvicorn 运行: uvicorn main:app
在哪里获取 starlette?
源代码和安装说明在 GitHub 上:https://github.com/Kludex/starlette

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目