Metadata-Version: 2.1
Name: wsmprpc
Version: 0.2
Summary: python msgpack RPC over websocket
Home-page: https://github.com/hyansuper/wsmprpc
Author: Huang Yan
Author-email: hyansuper@foxmail.com
License: MIT
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Description-Content-Type: text/markdown
Requires-Dist: msgpack

# wsmpRPC

Python msgpack RPC over websocket

## Features

* **Asynchronous**
* Compared to json, [msgpack](https://msgpack.org/) supports **binary data**.
* Client is able to **cancel** long running calculation on server.
* Supports **Bidirectional streaming** RPC, where the client sends/receives a sequence of messages to/from server within one RPC. similar to [gRPC](https://grpc.io/docs/tutorials/basic/python/).
* No need to define .proto files, thanks to python's dynamic features, RPC methods defined on server side can be readily used by client as if it's client's own method.
* Easy integration into any async web frameworks that support **websocket**.
* lib for **javascript** client on web browser.

## Install

`pip install wsmprpc`

## Dependency:
[python](https://msgpack.org/) and [javascript](https://github.com/ygoe/msgpack.js) versions of msgpack 

## Examples
* [server_test.py](https://github.com/hyansuper/wsmprpc/blob/master/examples/server_test.py)
* [client_test.py](https://github.com/hyansuper/wsmprpc/blob/master/examples/client_test.py)
* [client_test.html (javascript client)](https://github.com/hyansuper/wsmprpc/blob/master/js/client_test.html)

