UtilMeta 是一个用于开发 API 服务的后端元框架,基于 Python 类型注解标准高效构建声明式接口与 ORM 查询,能够自动解析请求参数与生成 OpenAPI 文档,高效开发 RESTful 接口,产出的代码简洁清晰,并且支持使用主流 Python 框架(django, flask, fastapi, starlette, sanic, tornado 等)作为运行时实现或渐进式整合,同时支持同步接口与异步接口.
核心特性
- 渐进式元框架:使用一套标准支持 django, flask, fastapi (starlette), sanic, tornado 等主流 Python 框架作为 HTTP 运行时实现(切换实现只需一个参数),支持从以上框架的现有项目使用 UtilMeta 进行渐进式开发,灵活兼容多种技术栈,支持异步接口
- 声明式接口与 ORM:快速产出简洁代码,自动根据声明完成请求校验,响应构建与生成 OpenAPI 标准文档,内置高效的声明式 ORM 标准,支持 django 等查询引擎
- 高度可扩展与丰富的插件:内置一系列可灵活接入的鉴权(session/jwt),跨域处理,重试,请求控制,事务等插件
安装
- pip install -U utilmeta
- UtilMeta 需要 Python >= 3.8
Hello World
我们新建一个名为 server.py 的 Python 文件,并在其中写入以下代码
from utilmeta import UtilMetafrom utilmeta.core import apiimport djangoclass RootAPI(api.API): @api.get def hello(self): return 'world'service = UtilMeta( __name__, name='demo', backend=django, # or flask / starlette / tornado / sanic api=RootAPI, route='/api')app = service.application() # wsgi appif __name__ == '__main__': service.run()
运行项目
我们可以直接运行这个文件来启动 API 服务
python server.py
当看到如下提示即说明启动成功
Running on http://127.0.0.1:8000Press CTRL+C to quit
接着我们可以直接使用浏览器访问 http://127.0.0.1:8000/api/hello 来调用 API,可以看到
world
说明项目启动成功
截图