Skip to main content

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>

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for speedy, version 0.23
Filename, size File type Python version Upload date Hashes
Filename, size speedy-0.23.tar.gz (10.3 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page