{ "info": { "author": "Gerhard Weis", "author_email": "gerhard.weis@proclos.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Internet", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: System :: Networking" ], "description": "RSL - Remote Service Library\n============================\n\nThis module provides a collection of interfaces and a \"plugin\" mechanism to\naccess remote services with different protocols and technology in a unified \nway.\n\nThe library has been developed as part of a \"command line shell service \nintegration\". It has been separated into its own package to allow a modular \ninstallation and if may be useful for other projects too.\n\nRSL is a pure client side library which allows easy access to web services. It\nprovides a full abstraction of service protocol and technology and tries to map\neach remote service to Python methods. Hence, from a programmers point of view, \nthere should be almost no difference (except some minimal boilerplate) between\na local method call and a remote call. Even the fact, whether SOAP, JSON or\nwhatever protocol in use, should be completely hidden (but not inaccessible).\n\nOne of the main goals of the library is, to make it easily possible to add more\nweb service and transport protocols, without changing all the other parts. This\nallows to extend the library bit by bit and makes each package much more\nmaintainable. It also allows to keep the installation foot print at a minimum \n(just install only required modules).\n\nDocumentation\n-------------\n\nDocumentation is currently in a very bad shape, but this will change soon, as \nthe API stabilises. Furthermore, a growing user base which provides feedback,\nwill shorten this time frame further ;).\n\nAs mentioned above the core of this modules are the interface definitions, and\nthe discovery mechanism for \"protocol-plugins\" using Setuptools and Zope \ninterfaces. In general the philosophy behind the given interfaces is, that\na web-service client can be split into various components.\n\n **Transport**: \n Every remote access needs some kind of transport. Transport protocols\n are plug-able and can easily be replaced to allow easier integration \n into other frameworks like Twisted.\n **Description**:\n As there are many different service description formats, which often\n support multiple service protocols, it is just logical to implement \n service descriptions as separate components.\n **Proxy**:\n These kind of components have the knowledge to convert the information\n from a description and protocols standards into a usable Python object,\n which acts as proxy to invoke remote services.\n **De/Serialiser**:\n As different protocols allow different encoding formats, de/serialisers,\n are implemented as independent components, which allows to reuse them\n wherever appropriate.\n **Typesystem**:\n Often XML based encoding standards, feature an own type system (mostly\n expressed as XML-Schema). Such Typeystems, will also be used for JSON,\n and probably other future encoding standards will follow. A Typesystem,\n tries to map between Python data types and wire-representation, and \n allows the actual user, to ignore the technical details.\n \nAll these components above are implemented as independent from each other as\npossible, to allow easy replacement, high reusability, great extensibility \nand flexibility, and of course easy installation.\n\nThe following modules are developed along with this modules:\n\n * `rsl.wsdl `_ : common WSDL module\n * `rsl.wsdl1 `_ : WSDL 1\n * `rsl.soap11 `_ : SOAP 1.1 + WSDL 1 SOAP 1.1 extension\n * `rsl.mime `_ : WSDL 1 MIME extension\n * `rsl.http `_ : WSDL 1 HTTP extension\n * `rsl.rest `_ : REST like services\n * `rsl.jsonrpc10 `_ : JSON-RPC 1.0 implementation\n * `rsl.smd01 `_ : SMD 0.1 implementation\n * `rsl.upnp `_ : UPnP description\n * `rsl.xmlrpc `_ : XML-RPC\n * `rsl.xsd `_ : XML Schema type system\n \n\nFor examples on how to use the library, please see the additional modules,\nand tests included there.\n\nStatus\n------\n\nThe library works quite well for the command line service integration. \nThe installation is quite effortless with Python eggs and easyinstall.\nHowever, as the whole project grows quite huge, and it is in an early\ndevelopment stage, there are many things, which are not solved that elegant,\nand it is very likely, that some refactoring will be happen in the near future.\nHowever, most of the refactoring will make the code base more conformant to\nPEP-08. The high likeliness in API changes is also the reason why this\nrelease is currently classified *alpha*.\n\nAn important to-do is, to remove as much inconveniences for the library \nas possible, which will also greatly improve the overall library design.\n\nThe type system component is a bit cumbersome, and currently there is only one\nimplementation (XML-Schema) available for it. I hope, that the situation here,\nwill improve, as at least a second type system implementation becomes available.\n\n\nComment\n-------\n\nAs this library also supports SOAP, there may be the question: \"Why another\nSOAP library?\". The simple answer is, that there is no working client side\nSOAP library available. I tested all three (or four?) major SOAP libraries,\nand not one of them worked with the web service I needed. Most of those\nSOAP libraries are just too simple, for my use cases, and others have some\nmajor interoperability problems. (So two reasons: extending an already\navailable library would be about the same effort, and fixing a full-featured\nlibrary, would be even more effort because of ugly code base.)\n\nCHANGES\n=======\n\n0.2.1 (2008-12-09)\n------------------\n\n- Fixed source distribution (missing CHANGES.txt file)\n\n0.2.0 (2008-12-03)\n------------------\n\n- Initial release", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://sourceforge.net/projects/rslib/", "keywords": null, "license": "BSD", "maintainer": null, "maintainer_email": null, "name": "rsl", "package_url": "https://pypi.org/project/rsl/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/rsl/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://sourceforge.net/projects/rslib/" }, "release_url": "https://pypi.org/project/rsl/0.2.1/", "requires_dist": null, "requires_python": null, "summary": "Remote Service Library API", "version": "0.2.1" }, "last_serial": 799076, "releases": { "0.2.0": [ { "comment_text": "", "digests": { "md5": "d5610f4a6e17b0c4c811ef0789b1ee51", "sha256": "2fa45868f36135a0a901dff468dea39a4910e5f2d58dd9066fb292aaae01a7a4" }, "downloads": -1, "filename": "rsl-0.2.0.tar.bz2", "has_sig": false, "md5_digest": "d5610f4a6e17b0c4c811ef0789b1ee51", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16679, "upload_time": "2008-12-02T15:19:59", "url": "https://files.pythonhosted.org/packages/f0/23/6056e5d2602f8313595c1c38df17173b0e283f0d8d5677d5fb533e5efe6c/rsl-0.2.0.tar.bz2" } ], "0.2.0.dev": [], "0.2.1": [ { "comment_text": "", "digests": { "md5": "d275668d96031e26c34f73fec04ed1c6", "sha256": "48a861781b7858357850ef18b621377b44d14954e187ebb448459a1083a4eddf" }, "downloads": -1, "filename": "rsl-0.2.1.tar.gz", "has_sig": false, "md5_digest": "d275668d96031e26c34f73fec04ed1c6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19326, "upload_time": "2008-12-09T13:01:07", "url": "https://files.pythonhosted.org/packages/9b/00/31503b1ad42eb112a44b58e3bb7cd453852e578c6e3b735af1f8b368c7f4/rsl-0.2.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d275668d96031e26c34f73fec04ed1c6", "sha256": "48a861781b7858357850ef18b621377b44d14954e187ebb448459a1083a4eddf" }, "downloads": -1, "filename": "rsl-0.2.1.tar.gz", "has_sig": false, "md5_digest": "d275668d96031e26c34f73fec04ed1c6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19326, "upload_time": "2008-12-09T13:01:07", "url": "https://files.pythonhosted.org/packages/9b/00/31503b1ad42eb112a44b58e3bb7cd453852e578c6e3b735af1f8b368c7f4/rsl-0.2.1.tar.gz" } ] }