rpconnect

lightweight rpc framework


Keywords
rpc, remote-call
License
MIT
Install
pip install rpconnect==0.10.0

Documentation

RPConnect

Lightweight Remote Procedure Call framework. Only two components are of importance:

RpcServer
A long-running server, where callables can be registered.
remote_call
A single-use client, to call procedures on an RpcServer.

Overview

On the server side, you can define and register callables. These are then exposed by name:

def pingpong(*args, **kwargs):
    return args, kwargs

with RpcServer(23000) as server:
    server.register(pingpong)
    server.run()

On the client side, you can directly dispatch a remote_call. This will block until a reply is available:

remote_call('localhost', 23000, 'pingpong', 'hello', 'world')

About

This is a simple RPC library, primarily for prototyping and education setups. It uses a JSON based protocol, which protects against undesired code execution. Any complex protocols, such as packed or pickle based data, can be implemented on top.