Easyrpc
An easy to use rpc framework for enabling fast inter-process, inter-container, or inter-host communication
Install / Use
/learn @codemation/EasyrpcREADME

An easy to use rpc framework for enabling fast inter-process, inter-container, or inter-host communication
Easily share functions between hosts, processes, containers without the complexity of defining non-native python types or proxy modules.
Documentation
Key Features
- No predefined proxy functions at the remote endpoints
- Easily group and share functons among hosts / processes using Namespaces / Namespace Groups
- Proxy functions parameters are validated as if defined locally.
- Optional: pre-flight encyrption
- No strict RPC message structure / size limit
- Flexible parameter types within pickable constraint
Quick Start
$ uv init --python ">=3.11"
$ uv add easyrpc
Basic Usage:
# server.py
from fastapi import FastAPI
from easyrpc.server import EasyRpcServer
server = FastAPI()
ws_server_a = EasyRpcServer(server, '/ws/server_a', server_secret='abcd1234')
@ws_server_a.origin(namespace='public')
def good_func_a(a, b, c):
print(f"good_func_a {a} {b} {c}")
return {"good_func_a": [a, b, c]}
# client.py
import asyncio
from easyrpc.proxy import EasyRpcProxy
async def main():
proxy = await EasyRpcProxy.create(
'0.0.0.0',
8090,
'/ws/server_a',
server_secret='abcd1234',
'namespace='public'
)
good_func_a = proxy['good_func_a']
result = await good_func_a(1, 5, 7)
print(result)
asyncio.run(main())
Recipes
See other usage examples in Recipes
Supported Functions Features
- async def & def
- async generators & generators
- *args, **kwargs
- positional & default parmeters
- TODO - type annotations
Common Use Cases
- State sharing among forked workers
- Shared Database connections / cache
- Shared Queues
- Worker Pooling - Easy centralization for workers and distribution of work.
- Function Chaining
Related Skills
node-connect
343.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
90.0kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
343.1kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
343.1kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
