Skip to main content

Microlib for socket RPC

Project description

socket_rpc

socket_rpc is a very simple microlib for remote procedure calls (RPC) over sockets in Python.

It exposes two functions:

  • rpc - acts as a server for a Python RPC
  • rpc_call - allows you to call a function, registered on another host with the rpc decorator.

Install with:

pip install socket_rpc

Quick server example

To expose a function over TCP, just decorate it with the rpc decorator:

import logging
import sys

import numpy as np

from socket_rpc import rpc


logging.basicConfig(stream=sys.stdout, level=logging.DEBUG)


@rpc(host='localhost', port=61000, buffer_size=10 * 1024 * 1024)
def callback(np_arr: np.ndarray):
    print(np_arr.shape)

Quick call example

To call a function already exposed with the rpc decorator, just use the rpc_call function:

import numpy as np
from socket_rpc import rpc_call

send_np_arr = rpc_call(host='localhost', port=61000)

send_np_arr(np.arange(1111))

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

socket_rpc-0.1.0.tar.gz (2.7 kB view hashes)

Uploaded Source

Built Distribution

socket_rpc-0.1.0-py3-none-any.whl (3.2 kB view hashes)

Uploaded Python 3

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