Metadata-Version: 1.1
Name: Flask-Spyne
Version: 0.2
Summary: A Flask extension, provides support for Spyne.
Home-page: http://github.com/rayrapetyan/flask-spyne
Author: Robert Ayrapetyan
Author-email: robert.ayrapetyan@gmail.com
License: BSD
Download-URL: http://pypi.python.org/pypi/Flask-Spyne
Description: Flask-Spyne
        ===========
        
        Flask-Spyne is a `Flask <http://flask.pocoo.org>`_ extension which
        provides `Spyne <http://spyne.io>`_ (formerly known as 
        `soaplib <http://soaplib.github.io/soaplib/2_0/>`_) support. 
        Includes SOAP, WSDL, JSON, XML, YAML and other transports and protocols.
        Inspired by unofficial 
        `Flask-Enterprise <http://massive.immersedcode.org/2011/staging/projects/default/python/flask-enterprise/>`_
        extension (a wrapper on top of outdated `soaplib <http://soaplib.github.io/soaplib/2_0/>`_).
        
        * `PyPI listing <http://pypi.python.org/pypi/Flask-Spyne>`_
        
        Installation
        ------------
        ::
        
            pip install flask-spyne
        
        Please check `list of additional requirements <http://spyne.io/docs/2.10/#requirements>`_ 
        you might need to install.
        
        Server example
        --------------
        
        .. code-block:: python
        
          from flask import Flask
          from flask.ext.spyne import Spyne
          from spyne.protocol.soap import Soap11
          from spyne.model.primitive import Unicode, Integer
          from spyne.model.complex import Iterable
          
          app = Flask(__name__)
          spyne = Spyne(app)
          
          class SomeSoapService(spyne.Service):
              __service_url_path__ = '/soap/someservice'
              __in_protocol__ = Soap11(validator='lxml')
              __out_protocol__ = Soap11()
              
              @spyne.srpc(Unicode, Integer, _returns=Iterable(Unicode))
              def echo(str, cnt):
                  for i in range(cnt):
                      yield str
          
          if __name__ == '__main__':
              app.run(host = '127.0.0.1')
        
        Client example
        --------------
        
        .. code-block:: python
        
          from suds.client import Client as SudsClient
        
          url = 'http://127.0.0.1:5000/soap/someservice?wsdl'
          client = SudsClient(url=url, cache=None)
          r = client.service.echo(str='hello world', cnt=3)
          print r
        
        WS-Security
        -----------
        
        Starting from v0.2 flask-spyne supports basics of WS-Security for SOAP services.
        
        Specify __wsse_conf__ dict with following fields::
        
            username (str, required)
            password (str, required)
            password-digest (bool, optional)
            nonce-freshness-time (int, optional)
            reject-empty-nonce-creation (bool, optional)
            reject-stale-tokens (bool, optional)
            reject-expiry-limit (int, optional)
        
        See server_auth.py/client_auth.py in ``examples`` for more details.
        
Keywords: flask,spyne,soap,wsdl,wsgi,zeromq,rest,rpc,json,http,msgpack,xml,sqlalchemy,werkzeug,yaml
Platform: any
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Software Development :: Libraries :: Python Modules
