Web Service Made Easy (WSME) simplify the writing of REST web services by providing simple yet powerful typing which removes the need to directly manipulate the request and the response objects.
8736089dc9
--HG-- rename : wsme/cornice.py => wsmeext/cornice.py rename : wsme/pecan.py => wsmeext/pecan.py rename : wsme/sphinxext.py => wsmeext/sphinxext.py rename : wsme/tg1.py => wsmeext/tg1.py rename : wsme/tg11.py => wsmeext/tg11.py rename : wsme/tg15.py => wsmeext/tg15.py |
||
---|---|---|
doc | ||
examples/demo | ||
tests | ||
wsme | ||
wsmeext | ||
.hgignore | ||
.hgtags | ||
LICENSE | ||
MANIFEST.in | ||
README.rst | ||
setup.cfg | ||
setup.py | ||
tox.ini |
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