Production Ready ASGI web framework
Unfazed
Unfazed 是一个工程导向、异步优先、易测试、易扩展的 Python web 框架,基于 starlette 开发,项目组织形式向 django 靠拢。
新手入门
- Part 1 安装与创建项目
- Part 2 创建应用 以及 hello,world
- Part 3 models 和 序列化器
- Part 4 endpoint 函数以及 schema 定义
- Part 5 services 业务逻辑实现
- Part 6 测试
特性
- 配置模块:settings
- 应用管理:app
- 路由管理:route
- 中间件设计:middleware
- Lifespan 管理:lifespan
- 日志系统:logging
- HTTP 相关:request | response
- 视图函数设计:endpoint
- 静态文件服务:staticfiles
- Tortoise-orm 相关:ORM | Serializer
- 缓存:cache
- 错误处理:error
- OPENAPI:openapi
- 命令行设计:command
- 测试 client:test_client
contrib
依赖
unfazed 站在巨人的肩膀上开发,感谢以下项目:
unfazed 发布包依赖:
- starlette 提供基础 web 框架能力
- pydantic 提供数据验证支持
- tortoise-orm 提供 ORM 支持
- redis 提供缓存支持
- click 提供命令行支持
- jinja2 提供模板支持
- anyio 提供异步支持
- asgiref 提供 ASGI 支持
- uvicorn 提供 ASGI 服务器支持
- httpx 提供测试 client
- itsdangerous 提供 session 支持
- python-multipart 提供 multipart/form-data 支持
- orjson 提供 json 支持
- aerich 提供orm migrate支持
unfazed 开发依赖:
- mkdocs 提供文档支持
- mkdocs-static-i18n 提供多语言支持
- mypy 提供静态类型检查支持
- ruff 提供代码风格检查支持
- pytest 提供测试支持
- pytest-asyncio 提供异步测试支持
- pytest-cov 提供测试覆盖率支持
- asyncmy 提供异步 mysql 支持
- pymysql 提供 mysql 支持
- types-pymysql 提供 mysql 类型检查支持