Skip to main content

msgpack rpc over websocket

Project description

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())

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

websocket-rpc-0.0.6.tar.gz (3.6 kB view details)

Uploaded Source

Built Distribution

websocket_rpc-0.0.6-py3-none-any.whl (4.3 kB view details)

Uploaded Python 3

File details

Details for the file websocket-rpc-0.0.6.tar.gz.

File metadata

  • Download URL: websocket-rpc-0.0.6.tar.gz
  • Upload date:
  • Size: 3.6 kB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for websocket-rpc-0.0.6.tar.gz
Algorithm Hash digest
SHA256 ed5e0a9171adabf9886fe4d696ad7c73a4d1904503f0c369e64cca3e406f1cc0
MD5 3cd71542c9ec2982735af9e812543d29
BLAKE2b-256 8151ac1daec450baa00a0424d8932dd1234197e6aca95736e92e3a415b07d7bc

See more details on using hashes here.

File details

Details for the file websocket_rpc-0.0.6-py3-none-any.whl.

File metadata

  • Download URL: websocket_rpc-0.0.6-py3-none-any.whl
  • Upload date:
  • Size: 4.3 kB
  • Tags: Python 3
  • Uploaded using 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

File hashes

Hashes for websocket_rpc-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 07ac4a9652877bedcd37e0525d5a7b8a82693b84791b1e19844cea1987c3db7a
MD5 bbd9228462aa8a06cb9e99b55d7224b2
BLAKE2b-256 6ef261547bfa713bdbd7d1a06394877e456c177b809819f0ea982fbce7555dc0

See more details on using hashes here.

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