当前位置:首页>python>Lihil框架—其愿景是:使 Python 成为 Web 开发的主流编程语言

Lihil框架—其愿景是:使 Python 成为 Web 开发的主流编程语言

  • 2026-08-25 20:09:45
Lihil框架—其愿景是:使 Python 成为 Web 开发的主流编程语言
关注+星标,每天学习Python新技能

来源:网络

什么是Lihil

Lihil 是一个高性能、高效且专业的 Web 框架,专注于强类型和现代模式,以实现强大的后端开发。

  • • 性能:lihil 速度很快,比提供类似功能的 ASGI 框架快 50%-100%,使用自己的服务器甚至更快。
  • • 高效:符合人体工程学的 API,具有强大的键入支持和针对常见问题的内置解决方案,以及 openapi 文档生成等深受喜爱的功能,使用户能够快速构建他们的应用程序,而不会牺牲可扩展性。
  • • 专业:lihil 专为企业 Web 开发而设计,提供强大且可扩展的解决方案,其中包含微服务架构和相关模式的最佳实践。

与现有框架的比较

FastAPI:

FastAPI 的 DI(依赖)简单且以路由为中心,但与请求/响应生命周期紧密耦合 - 这使得跨层共享依赖关系变得更加困难。

Lihil 的 DI 可以在任何地方使用,支持高级生命周期,并且针对 Cython 进行了速度优化。

FastAPI 使用 Pydantic,虽然性能不错,但比 msgspec 慢得多(并且占用更多内存)。

两者都生成 OpenAPI 文档,但 Lihil 旨在提供更好的类型覆盖和问题细节(RFC-9457)。

Starlette:

Starlette 非常精简,但缺乏内置的 DI 系统、数据验证和结构化错误处理 - 我们必须自己组装这些部分。

Lihil 开箱即用,但仍然很轻量(在许多情况下,速度可与裸 ASGI 应用程序相媲美)。

Django:

Django 非常适合经典的 MVC 风格应用,但当需要微服务或 API 时,它会显得沉重而僵硬。

对于超过 100 DAU 的用户群,很可能会出现性能瓶颈。

Lihil 是异步优先、类型驱动的,更适合高性能 API 和 AI 后端。

快速开始

安装

lihil目前需要 python>=3.12

pip install lihil

使用UV安装是推荐的方式,UV方式安装如下:1、初始化 Web 项目project_name

uv init project_name

2、通过 UV 安装 Lihil,这将在专用的 VENV 中为我们解决所有依赖项。

uv add lihil

简单的例子,app.py内容:

from lihil import Lihillhl = Lihil()@lhl.getasync def hello():    return {"hello": "world!"}

命令行启动:

uv run python -m myproject.app --server.port=8080

一个更现实的例子:

from lihil import Lihil, Route, use, EventBuschat_route = Route("/chats/{chat_id}")message_route = chat_route / "messages"UserToken = NewType("UserToken", str)@chat_route.factorydef parse_access_token(    service: UserService, token: UserToken) -> ParsedToken:    return service.decrypt_access_token(token)@message_route.postasync def stream(   service: ChatService,     token: ParsedToken,    bus: EventBus,   chat_id: str,    data: CreateMessage) -> Annotated[Stream[GPTMessage], CustomEncoder(gpt_encoder)]:    chat = service.get_user_chat(token.sub)    chat.add_message(data)    answer = service.ask(chat, model=data.model)    buffer = []    async for word in answer:        buffer.append(word)        yield word    await bus.publish(NewMessageCreated(chat, buffer))

教程

在 https://lihil.cc/lihil/tutorials/ 查看详细教程,涵盖如下:

  • • 通过 或 命令行参数配置应用程序
  • • 依赖注入和插件
  • • 测试
  • • 基于类型的消息系统、事件侦听器、原子事件处理等。
  • • 错误处理
  • • ...以及更多
长按或扫描下方二维码,免费获取 Python公开课和大佬打包整理的几百G的学习资料,内容包含但不限于Python电子书、教程、项目接单、源码等等

推荐阅读

对抗样本:20行Python代码让95%准确率的图像分类器彻底失效

不仅仅是 Try/Except:资深 Python 工程师的错误处理工程化实践

DBOS:让 Python 工作流持久化,轻松应对中断与重试

不想折腾 Celery?试试这个轻量级 Django 异步任务方案

点击 阅读原文 了解更多

最新文章

随机文章