Tiny implementation of a WSGI-based RPC server and client
Project description
WSGI-based RPC
Why this package?
- JSON-RPC is easy and fast, but you need to convert your arguments and return values to basic python types (strings, lists, dicts, etc)
- Pyro and RPyC are very powerful, but sometimes you don't need nor want every object to be proxied over sockets.
This package provides the ability to invoque methods on a remote object with pickable arguments and receiving a pickable object on return.
This module is about 70 lines of code and depends only on Python and requests
package.
This implementation is supposed to be fast while being easy to understand.
Running the included example
The included example implements a program that mimics the Linux rev
command.
The client program runs a loop that reads a line of text from stdin, sends it to
the server which reverses it and returns it back to the client, which prints it to stdout.
To run the example server with Python's wsgi reference implemetantion:
$ python example/server.py
To run the example server with gunicorn:
$ cd example && gunicorn -b localhost:5555 server:app
To run the client:
$ echo Hello world | python example/client.py
dlrow olleH
License
This Python module is licensed under the MIT license.
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
File details
Details for the file wsgirpc-2.1.1.tar.gz
.
File metadata
- Download URL: wsgirpc-2.1.1.tar.gz
- Upload date:
- Size: 2.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.4.2 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1bc7dd21c6b60a5c21be329ce76b7f52bcf57b62c618ac255c8a74cb687fab32 |
|
MD5 | be0f8f496e2ddc7a6d6362bf6171a02f |
|
BLAKE2b-256 | 508d310d43c7dfe1953f0e33d5cf12eeb37465758920249aaedd160d0c023ab5 |