825686b1e6ccdc44494d14dd3e709027957a201d
--HG-- extra : rebase_source : 928fc36f69f5b12eebf02510e484da187fe88384
Web Services Made Easy
Introduction
Web Service Made Easy (WSME) is a very easy way to implement webservices in your python web application, and to add strong type checking to your favorite REST library/framework, as well as additional protocols.
It is originally a rewrite of TGWebServices with focus on extensibility, framework-independance and better type handling.
How Easy ?
from wsme import WSRoot, expose, validate
class MyService(WSRoot):
@expose(unicode)
@validate(unicode)
def hello(self, who=u'World'):
return u"Hello {0} !".format(who)
With this published at the /ws path of your application,
you can access your hello function in various protocols:
| URL | Returns |
|---|---|
http://<server>/ws/hello.json?who=you |
"Hello you !" |
http://<server>/ws/hello.xml |
<result>Hello World !</result> |
http://<server>/ws/api.wsdl |
A WSDL description for any SOAP client. |
Main features
- Very simple API.
- Supports user-defined simple and complex types.
- Multi-protocol : REST+Json, REST+XML, SOAP, ExtDirect and more to come.
- Extensible : easy to add more protocols or more base types.
- Framework independance : adapters are provided to easily integrate your API in any web framework, for example a wsgi container, Pecan, TurboGears, cornice...
- Very few runtime dependencies: webob, simplegeneric (+ Genshi if you use SOAP).
- Integration in Sphinx for making clean documentation with wsme.sphinxext (work in progress).
Install
easy_install WSME
Changes
- Read the Changelog
Getting Help
- Read the WSME Documentation.
- Questions about WSME should go to the python-wsme mailinglist.
Contribute
- Report issues
- Source code
- Jenkins
Description