pydanticrpc:无需protobuf文件即可构建grpc和连接rpc服务
本文介绍一个名为PydanticRPC的Python库,它能够自动生成gRPC或连接RPC服务,而无需手动编写Protobuf文件。 该库简化了RPC服务的创建流程,提高了开发效率。
概述
在Python中构建REST API时,开发者通常会选择FastAPI或Flask等框架。然而,当需要更高效的数据通信或模式优先的方法时,gRPC或连接RPC是更理想的选择。 传统的RPC系统开发流程通常包括:
- 定义.proto文件(Protocol Buffer)。
- 使用protoc或buf生成代码。
- 将生成的代码集成到应用程序中。
这个过程既繁琐又需要一定的学习成本。PydanticRPC旨在解决这个问题。
什么是PydanticRPC?
PydanticRPC是一个Python库,其核心功能包括:
- 自动生成Protobuf文件: 从Python类和Pydantic模型的签名中自动创建.proto文件。
- 动态代码生成: 内部使用grpcio-tools生成服务器/客户端存根,并将您的Python类绑定到这些存根。
- 支持gRPC、gRPC-Web、连接RPC和异步操作: 支持标准gRPC、gRPC-Web(由Sonora驱动)和连接RPC(由ConnecPy驱动),并支持异步(asyncio)用法,包括服务器流式方法。
简单来说,只需使用Pydantic模型编写Python类,即可立即获得RPC服务,无需手动处理.proto文件。
安装
PydanticRPC可通过pip安装:
pip install pydantic-rpc
本文地址:http://letuie.cn