Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
A transport and architecture agnostic RPC library that focuses on exposing services with a well-defined API using popular protocols.

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
doc
examples
src/rpclib
.gitignore
CHANGELOG.rst
CONTRIBUTORS
LICENSE
README.md
setup.py

README.md

Warning! This is rpclib's unstable development branch. Not only that, but rpclib project is experimental. You have been warned.

Overview

What is rpclib?

Rpclib is a library for publishing services that uses various protocols and transports. Currently, it supports WSDL 1.1 interface to publish services that use SOAP 1.1 or the (Rest-minus-the-verbs) HttpRPC protocol over either ZeroMQ or HTTP (using WSGI).

With a very small amount of code, rpclib allows you to write a useful remote procedure call pack and deploy it using your transport of choice.

The official rpclib discussion forum can be found here.

See the downloads section for related downloads.

The documentation here

Rpclib is a generalized version of a soap processing library known as soaplib. The legacy versions of soaplib are also available in this repository. See here for the stable soaplib-0.8 branch. See here for the stable soaplib-1.0 branch. See here for the stable soaplib-2.0 branch.

Features

  • Handles all (de)serialization.
  • On-demand WSDL generation.
  • Powerful customization features to support many use-cases.

Runtime Requirements

  • Python 2.4 through 2.7 (looking for volunteers to test Python 3.x)
  • A WSGI-compliant web server for http services. (CherryPy, WSGIUtils, Twisted, etc.)
  • lxml for soap. (available through easy_install)
  • pytz (available through easy_install)

See the examples directory in the source distribution for deployment examples. Rpclib services have been successfully run on the following web servers:

  • CherryPy 2.2
  • Flup
  • twisted.web (8.2, 9.0)
  • WSGIUtils 0.9

Development Requirements

  • Most examples and tests require Python 2.5 and greater. You need Python 2.7 to run all of the tests.
  • Twisted is required for rpclib.test.interop.server.basic and rpclib.test.interop.server.static.
  • To run automated tests, see instructions under test/README
Something went wrong with that request. Please try again.