没有传输层的简单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 |