Skip to main content

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.

Source Distribution

rpconnect-0.10.0.tar.gz (3.5 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page