lightweight rpc framework
Project description
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.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.