Skip to content

This is a simple, easily extendible rpc library that supports multiple protocols and provides several useful tools for creating, publishing and consuming online services in python.

License

isbaran/rpclib

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 an easy to use python library for publishing services that uses various protocols and transports. Currently, it supports WSDL 1.1 and SOAP 1.1 protocols over either ZeroMQ or HTTP.

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.

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

  • Deploy services as WSGI applications
  • Handles all (de)serialization
  • On-demand WSDL generation
  • Powerful customization features to support many use-cases
  • Doesn't get in your way!!!

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 or greater
  • Twisted is required for rpclib.test.interop.server.basic and rpclib.test.interop.server.static.
  • To run automated tests, see instructions under test/README

About

This is a simple, easily extendible rpc library that supports multiple protocols and provides several useful tools for creating, publishing and consuming online services in python.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 99.8%
  • Other 0.2%