async4jsonrpc 1.0.0

Last updated:

0 purchases

async4jsonrpc 1.0.0 Image
async4jsonrpc 1.0.0 Images
Add to Cart

Description:

async4jsonrpc 1.0.0

GitHub | Gitee
async4jsonrpc
This library is an asynchronous python library for the JSON-RPC specification.
It is licensed under the Apache License, Version 2.0
(http://www.apache.org/licenses/LICENSE-2.0.html).
Installation
Install from PyPi via pip:
pip3 install async4jsonrpc

Features

Compliant with the JSON-RPC 2.0 specification
High performance by asyncio and coroutine
Json serialization support via jsonpickle

Usage
Server Usage
server-test.py
from async4jsonrpc.server import JsonRpcServer

# create RPC json server
server = JsonRpcServer()
# registers a function to respond to RPC requests.
server.register_function(lambda x, y: x + y, 'add')
server.register_function(lambda x: x, 'ping')
# start to serve RPC request
server.serve('localhost', 8080)

Client Usage
client-test.py
import asyncio
from async4jsonrpc.client import JsonRpcClient

# create RPC json client
client = JsonRpcClient('127.0.0.1', 8080)

async def call_rpc(i):
# rpc: send rpc request
r = await client.ping(f'hello {i}')
print(r)

asyncio.run(call_rpc('shi'))

Json serialize
I use jsonpickle library for serialization and deserialization of complex Python objects to and from JSON

Python object class example:
thing.py

class Thing(object):
def __init__(self, name):
self.name = name


Client call rpc with a python object:
client-test.py

import asyncio
from async4jsonrpc.client import JsonRpcClient
from tests.thing import Thing

# create RPC json client
client = JsonRpcClient('127.0.0.1', 8080)

async def call_object_rpc():
obj = Thing('Awesome')
r = await client.ping(obj)
print(r)

asyncio.run(call_object_rpc())

TODO

improve

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files In This Product:

Customer Reviews

There are no reviews.