2.5 KiB
2.5 KiB
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