基于json-rpc 2.0规范的单个文件中的最小python rpc实现

jsonrpyc的Python项目详细描述


jsonrpyc logo -

Build StatusDocumentation Status

基于JSON-RPC 2.0 specs的单个文件中的最小python rpc实现。

用法

jsonrpyc.RPC实例基本上包装输入流和输出流,以便与其他services通信。只要服务严格实现json-rpc 2.0规范,它甚至不必用python编写。nodejs的合适实现是node-json-rpc。一个jsonrpyc.RPC实例可以包装一个target对象。传入请求将被路由到此对象的方法,其结果可能作为响应发送回。示例实现:

server.py
importjsonrpycclassMyTarget(object):defgreet(self,name):return"Hi, %s!"%namejsonrpyc.RPC(MyTarget())
client.py
importjsonrpycfromsubprocessimportPopen,PIPEp=Popen(["python","server.py"],stdin=PIPE,stdout=PIPE)rpc=jsonrpyc.RPC(stdout=p.stdin,stdin=p.stdout)## sync usage#print(rpc("greet",args=("John",),block=0.1))# => "Hi, John!"## async usage#defcb(err,res=None):iferr:raiseerrprint("callback got: "+res)rpc("greet",args=("John",),callback=cb)# cb is called asynchronously which prints# => "callback got: Hi, John!"

安装

通过pip

pip install jsonrpyc

或者简单地将文件复制到项目中。

贡献

如果你想为jsonrpyc做贡献,我很高兴收到pull请求。只需确保添加一个新的测试用例并通过:

> python -m unittest tests

开发

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
在Java中从本地文件系统导入文件   spring boot如何在Java SpringBoot项目中集成Olingo(Odata)   java查找连续数组中缺少的第k个元素(超过时间限制)   java为什么在mySql中插入1/2行时会得到2/4行   java不能在静态上下文中使用它   File Observer方法的java My onEvent()部分不起作用   java Netty NioSocketChannel在多线程写入时收到中断消息   java将文件夹与父文件夹一起复制   java我的TictaToe代码出了什么问题?如何检查已采取的措施?   java Swing JTable更新   java如何将cordinates查找为int   如何使用selenium和java在firefox中打开新的空选项卡   java Gradle构建输出Jar未运行   java没有GET/WEBINF/jsp/login的映射。jsp