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


Release history Release notifications

This version
History Node

0.23

History Node

0.22

History Node

0.21

History Node

0.20

History Node

0.19

History Node

0.18

History Node

0.17

History Node

0.16

History Node

0.15

History Node

0.14

History Node

0.13

History Node

0.12

History Node

0.11

History Node

0.1

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
speedy-0.23.tar.gz (10.3 kB) Copy SHA256 hash SHA256 Source None Aug 5, 2013

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page