Free and open source remote service library in Python
Version: 0.2.1RSL is a pure client side library which allows easy access to web services. It provides a full abstraction of service protocol and technology and tries to map each remote service to Python methods. Hence, from a programmers point of view, there should be almost no difference (except some minimal boilerplate) between a local method call and a remote call. Even the fact, whether SOAP, JSON or whatever protocol in use, should be completely hidden (but not inaccessible).
Operating System: Mac OS X
One of the main goals of the library is, to make it easily possible to add more web service and transport protocols, without changing all the other parts. This allows to extend the library bit by bit and makes each package much more maintainable. It also allows to keep the installation foot print at a minimum (just install only required modules).
Here is a list of components implemented as independent from each other as possible, to allow easy replacement, high reusability, great extensibility and flexibility, and of course easy installation.
Transport: Every remote access needs some kind of transport. Transport protocols are plug-able and can easily be replaced to allow easier integration into other frameworks like Twisted.
Description: As there are many different service description formats, which often support multiple service protocols, it is just logical to implement service descriptions as separate components.
Proxy: These kind of components have the knowledge to convert the information from a description and protocols standards into a usable Python object, which acts as proxy to invoke remote services.
De/Serialiser: As different protocols allow different encoding formats, de/serialisers, are implemented as independent components, which allows to reuse them wherever appropriate.
Typesystem: Often XML based encoding standards, feature an own type system (mostly expressed as XML-Schema). Such Typeystems, will also be used for JSON, and probably other future encoding standards will follow. A Typesystem, tries to map between Python data types and wire-representation, and allows the actual user, to ignore the technical details.
NOTE: rslib is licensed and distributed under the terms of the BSD License.