Fast, non-blocking RPC system.
Project description
Speedy - A Fast RPC System for Python
=====================================
A fast non-blocking RPC library for Python.
Installation
------------
pip install [--user] speedy
or
easy_install speedy
Usage
-----
##### Imports
import speedy
from speedy import zeromq
##### Server
class MyServer(speedy.Server):
def foo(self, handle, request):
handle.done(do_something(request.foo, request.bar))
server = MyServer(zeromq.server_socket(('127.0.0.1', port)))
# or use -1 to have the server grab an open port
# server = MyServer(zeromq.server_socket(('127.0.0.1', -1)))
server.serve() # blocks until server exits
##### Client
client = speedy.Client(zeromq.client_socket(('127.0.0.1', server_port)))
# requests are arbitrary python objects
request = { 'foo' : 123, 'bar' : 456 }
future = client.foo(request)
# Wait for the result. If the server encountered an error,
# an speedy.RemoteException will be thrown.
result = future.wait()
Feedback
--------
Questions, comments: <power@cs.nyu.edu>
=====================================
A fast non-blocking RPC library for Python.
Installation
------------
pip install [--user] speedy
or
easy_install speedy
Usage
-----
##### Imports
import speedy
from speedy import zeromq
##### Server
class MyServer(speedy.Server):
def foo(self, handle, request):
handle.done(do_something(request.foo, request.bar))
server = MyServer(zeromq.server_socket(('127.0.0.1', port)))
# or use -1 to have the server grab an open port
# server = MyServer(zeromq.server_socket(('127.0.0.1', -1)))
server.serve() # blocks until server exits
##### Client
client = speedy.Client(zeromq.client_socket(('127.0.0.1', server_port)))
# requests are arbitrary python objects
request = { 'foo' : 123, 'bar' : 456 }
future = client.foo(request)
# Wait for the result. If the server encountered an error,
# an speedy.RemoteException will be thrown.
result = future.wait()
Feedback
--------
Questions, comments: <power@cs.nyu.edu>
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
speedy-0.22.tar.gz
(10.6 kB
view details)
File details
Details for the file speedy-0.22.tar.gz
.
File metadata
- Download URL: speedy-0.22.tar.gz
- Upload date:
- Size: 10.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | eee1d9454d8422adf3c14363be2c53e707ad8091b0c1f8d0c4ba73a668624955 |
|
MD5 | 3ea3cae0af81a6a38b63421573c203ca |
|
BLAKE2b-256 | fe99bb9daa3e5784d9ddd8b900776f8cee1bee72c64ef6b8438f0df340cc4c8e |