itestar是一个强大、灵活、高性能且“倔强”的ASGI框架。

Litestar library documentation

itestar是一个强大、灵活、高性能且“倔强”的ASGI框架。
Litestar框架支持插件,附带依赖注入、安全原语、OpenAPI模式生成、MessagePack、中间件、出色的CLI体验等等。

官网:Litestar | Effortlessly Build Performant APIs

github:https://github.com/litestar-org/litestar

安装

pip install litestar

创建一个app.py文件

from litestar import Litestar, get


@get("/")
async def index() -> str:
    return "Hello, world!"


@get("/books/{book_id:int}")
async def get_book(book_id: int) -> dict[str, int]:
    return {"book_id": book_id}


app = Litestar([index, get_book])

启动测试

litestar run
Using Litestar app from app:app
Starting server process ────────────────────────────────────────────────────────
┌──────────────────────────────┬──────────────────────┐
│ Litestar version             │ 2.16.0               │
│ Debug mode                   │ Disabled             │
│ Python Debugger on exception │ Disabled             │
│ CORS                         │ Disabled             │
│ CSRF                         │ Disabled             │
│ OpenAPI                      │ Enabled path=/schema │
│ Compression                  │ Disabled             │
└──────────────────────────────┴──────────────────────┘
INFO:     Started server process [47856]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)

全网监听使用--host参数

litestar run --host 0.0.0.0

与类似框架的功能比较Feature comparison with similar frameworks

Litestar

FastAPI

Starlette

Sanic

Quart

OpenAPI

Y

Y

-

-

-

Automatic API documentation

Swagger, ReDoc, Stoplight Elements

Swagger, ReDoc

Data validation数据验证

Y

Y

Dependency Injection依赖关系注入

Y

Y

Y

Class based routing

Y

(Through extension)

Y

Y

Y

ORM integration

SQLAlchemy, Tortoise, Piccolo

(Through extension)

Templating

Jinja, Mako

Jinja

Jinja

Jinja

Jinja

MessagePack

Y

CORS

Y

Y

Y

Y

(Through extension)

CSRF

Rate-limiting

Y

(Through extension)

JWT

Y

Sessions

Y

Client-side

Client-side

Client-side

Authentication

JWT / Session based

Caching

Y

官方或社区“样板项目”(Boilerplates/Starters)

这些是推荐大家用来快速启动新项目的模板,代码结构、最佳实践一应俱全,适合你参考和二次开发:

  • Litestar Full Stack Project
    GitHub 地址:litestar-fullstack
    特点:Litestar 后端 + 前端(默认为 React,可替换)+ 数据库+ 认证+ CI/CD,一个典型的现代全栈项目模板。

  • Litestar-Admin
    litestar-admin
    特点:为 Litestar 应用提供一个强类型的管理后台生成器,有点类似 Django-Admin 或 SQLModel Admin,不过更现代。

  • Community starters
    Litestar 社区的样板项目合集说明页: https://docs.litestar.dev/latest/ecosystem/starters.html
    里头收集了和 SQLAlchemy、Tortoise ORM、React/Vue 前端、Docker 搭配等多种样板。

实际应用项目(开源)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值