Python Remote Service Library (rslib - rsl) Project

Welcome to the Remote Service Library Project! This project provides a collection of Python modules to easily consume Web Services using various different technologies like, SOAP, WSDL, JSON, SMD, XML-RPC, etc.

The main goal of this project is to provide a simple, dynamic client interface to web services, regardless which specific protocol or standard is in use. In general the user of this library should not be concerned with the underlying communication protocol, and usage of the library is identical across all those different standards out there.

Another goal is to reduce the installation foot print. Often a user only needs one specific protocol or feature to access a web service. So it should not be necessary to install all possible features, but only all needed features. Hence, the complete library is split into many small modules, which are as independent of each other as possible. This approach has two other big advantages. The library is highly extensible, and it is rather easy to add support for additional service description and protocol standards. Additionally the independence of each single module may make them useful for other use cases.

File releases are available at the Python Package Index (PyPi). The Project Page is used to announce news, hosting this web site and provides the bug tracker, mailing list etc. The mailing list at the Sourceforge Project Page is greatly preferred over the forum.

All packages and modules are managed with the help of zc.buildout and setuptools. Hence installation and usage should be rather straight forward.

Source Repository

All projects in the Mercurial repository prefixed with rslib belong to this project. Every released version has is also tagged in that repository. The repository contains also one example project, which tries to collect all sorts of examples about how to use the library and also serves as documentation. The development version of this example project may be out of sync with the other released modules. However, there will be releases of the example project, which should work straight out of the box with the releases on PyPi.

Released modules

Module Description Release Mercurial
rsl top level module PyPi hg
rsl.wsdl common WSDL module PyPi hg
rsl.wsdl1 WSDL 1 PyPi hg
rsl.soap11 SOAP 1.1 + WSDL 1 SOAP 1.1 extensions PyPi hg
rsl.mime WSDL 1 MIME extensions PyPi hg
rsl.http WSDL 1 HTTP extension PyPi hg REST like services PyPi hg
rsl.jsonrpc10 JSON-RPC 1.0 implementation PyPi hg
rsl.smd01 SMD 0.1 implementation PyPi hg
rsl.upnp UPnP description module PyPi hg
rsl.xmlrpc XML-RPC module PyPi hg
rsl.xsd XML Schema type system PyPi hg
rsl.examples Examples project hg

Unreleased modules

The repository also contains some unreleased modules, which are not yet complete enough to release them. If you want you can try them, but there is probably very little information about the completeness of these modules available.


The whole library and all its modules are currently classified as alpha status, because it is in an early development stage and the API is likely to change a little bit. (At least it will become more Python coding standard compliant).

Documentation is currently not really available. The best documentation sources currently available are the source itself, the test scripts in the modules, and the example project. To improve this situation, I highly recommend to ask questions, so that I can prioritize the documentation topics.

Furthermore, as far as I know it is currently not used by any other people than me. Hence I have not got any feedback how useful it is for other people. If you have some feedback, just drop a message in the mailing list or send a mail. (Author email is available at PyPi project page or at project page.)