没有传输层的简单JSON-RPC服务
项目描述
JSONRPCBase
简介
没有传输层的简单JSON-RPC服务
这个库旨在作为一个辅助库,用于轻松实现具有Unix/TCP套接字类传输协议的JSON-RPC服务,这些协议没有复杂特殊要求。您需要利用某些合适的传输协议与这个库一起提供实际可用的JSON-RPC服务。
特性
易于使用,体积小,经过良好测试。
支持JSON-RPC v2.0。除v1.0类提示外,与v1.x风格调用兼容。
可选的参数类型验证,可显著简化jsonrpc方法数据的开发。
示例
示例用法
import jsonrpcbase
chat_service = jsonrpcbase.JSONRPCService()
def login(username, password, timelimit=0):
(...)
return True
def receive_message(**kwargs):
(...)
return chat_message
def send_message(msg):
(...)
if __name__ == '__main__':
# Adds the method login to the service as a 'login'.
chat_service.add(login, types=[basestring, basestring, int])
# Adds the method receive_message to the service as a 'recv_msg'.
chat_service.add(receive_message, name='recv_msg', types={"msg": basestring, "id": int})
# Adds the method send_message as a 'send_msg' to the service.
chat_service.add(send_message, 'send_msg')
(...)
# Receive a JSON-RPC call.
jsonmsg = my_socket.recv()
# Process the JSON-RPC call.
result = chat_service.call(jsonmsg)
# Send back results.
my_socket.send(result)
问题 & 评论
当前状态
看起来很稳定,但据我所知,尚未被广泛使用。
可以通过 开发版本 使用 easy_install JSONRPCBase==dev 进行安装。
致谢
该项目最初由以下人员开发
Juhani Åhman http://bitbucket.org/fuzzybyte/jsonrpcbase/src
变更日志
0.2.0于2016年11月30日发布
添加Python 3支持(3.4和3.5)
在CircleCI和AppVeyor上设置持续集成测试
测试覆盖率在CodeCov上
0.1.2版本发布于2012-03-08
- 修复了在使用实例方法且不带参数时参数验证逻辑
(mlewellyn)
项目详情
关闭
JSONRPCBase-0.2.0.tar.gz的哈希
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 7ea67fc1a7c87756e9a876e18a342e431e80d0ef3ba867dfd6f3fac5bf3fcc0d |
|
| MD5 | 96059e46b8e1e8d09aae08fa8024e523 |
|
| BLAKE2b-256 | 5c73ef26d23bc5ea384970da9dcd2a962ec84cf834922d94df85ab7c45e7a38e |