不带传输层的简单JSON-RPC服务

JSONRPCBase的Python项目详细描述


jsonrpcbase

https://ci.appveyor.com/api/projects/status/mgn5i4m1wx2nu70y?svg=truehttps://circleci.com/gh/level12/jsonrpcbase.svg?style=shieldhttps://codecov.io/gh/level12/jsonrpcbase/branch/master/graph/badge.svg

简介

不带传输层的简单JSON-RPC服务

该库旨在作为辅助库,方便使用UNIX/TCP套接字实现JSON-RPC服务。 类似于没有复杂特殊要求的传输协议。你需要使用合适的交通工具 与此库的协议,以实际提供工作的JSON-RPC服务。

功能

  • 使用方便,体积小,测试良好。
  • 支持JSON-RPC2.0。与v1.x风格的调用兼容,但v1.0类提示除外。
  • 可选参数类型验证,大大简化了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)

问题和评论

请访问:http://groups.google.com/group/blazelibs

当前状态

看起来很稳定,但据我所知还没有被广泛应用。

development version 可使用easy_install JSONRPCBase==dev安装。

学分

此项目最初由以下人员开发:

朱哈尼奥曼 http://bitbucket.org/fuzzybyte/jsonrpcbase/src

变更日志

0.2.0发布于2016年11月30日

  • 添加Python3支持(3.4和3.5)
  • 在Circleci和Appveyor上设置持续集成测试
  • 测试覆盖率在codecov上

0.1.2 2012-03-08发布

  • 使用实例方法而不使用参数时的固定参数验证逻辑
    (姆莱韦林)

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

推荐PyPI第三方库


热门话题
在reducer中迭代自定义可写组件时出现java问题   属性文件中属性的java命名约定   任务链关闭的java Executor服务   java从Eclipse中的字段生成多个构造函数   java通过继承读取Json   java在不知道密钥的情况下解析json   java camel cxf如何在电子邮件中发送soap请求响应   java程序似乎跳过了if语句的一部分,在移回正确位置之前先移到else语句   测试简单的Java加密/解密inputFileName不存在   java从Jenkins REST API获取所有作业的所有构建的构建细节   java基本包装器和静态“类型”类对象   在WebSphere8.5上部署java代码   java对象相等(对象引用“=”)   java MongoDB整型字段到枚举的转换   每次我重新导入gradle时,IntelliJ都会不断重置Java设置   类型使用键或索引从Java中的数据类型检索值   在Java的列表接口中需要listIterator()和iterator()是什么?