Skip to main content

websocket-rpc

Build Status Python Version Version Format License codecov

msgpack rpc over websocket

Examples

server:

import asyncio
from sanic import Sanic
from wsrpc import WebsocketRPC
app = Sanic(__name__)


class SampleHandler:
    def __init__(self, rpc):
        self.remote = rpc

    async def add(self, a, b):
        await asyncio.sleep(5)
        return a + b

    async def test(self):
        return 23


@app.websocket('/')
async def home(request, ws):
    await WebsocketRPC(ws, SampleHandler).run()
app.run(host="0.0.0.0", port=5555, debug=False)

client:

import asyncio
import websockets
from wsrpc import WebsocketRPC
loop = asyncio.get_event_loop()


async def go():
    async with websockets.connect('ws://127.0.0.1:5555/') as ws:
        rpc = WebsocketRPC(ws=ws, client_mode=True)
        jobs = [rpc.request.add(a, b) for a, b in zip(range(10), range(5, 15))]
        r = await asyncio.gather(*jobs)
        print(r)
        r = await rpc.notify.add(2, 3)
        print(r)
    await rpc.close()


loop.run_until_complete(go())

Metadata

Release files for websocket-rpc 0.0.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for websocket-rpc 0.0.6
File Size Uploaded
websocket-rpc-0.0.6.tar.gz 3.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for websocket-rpc 0.0.6
File Interpreter ABI Platform
websocket_rpc-0.0.6-py3-none-any.whl Python 3 none any Details

Total release size: 7.8 kB

Release files / websocket-rpc-0.0.6.tar.gz

Download URL websocket-rpc-0.0.6.tar.gz
Size 3.6 kB
Tags Source
SHA-256 checksum
How to use checksums
ed5e0a9171adabf9886fe4d696ad7c73a4d1904503f0c369e64cca3e406f1cc0
BLAKE2b-256 checksum
How to use checksums
8151ac1daec450baa00a0424d8932dd1234197e6aca95736e92e3a415b07d7bc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.11.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/46.0.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.7.7

Release files / websocket_rpc-0.0.6-py3-none-any.whl

Download URL websocket_rpc-0.0.6-py3-none-any.whl
Size 4.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
07ac4a9652877bedcd37e0525d5a7b8a82693b84791b1e19844cea1987c3db7a
BLAKE2b-256 checksum
How to use checksums
6ef261547bfa713bdbd7d1a06394877e456c177b809819f0ea982fbce7555dc0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.11.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/46.0.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.7.7

Release history Release notifications | RSS feed

This release

0.0.6 This release

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

1 release file

0.0.2

1 release file

0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page