{ "info": { "author": "Robert Ayrapetyan", "author_email": "robert.ayrapetyan@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Intended Audience :: Developers", "License :: CC0 1.0 Universal (CC0 1.0) Public Domain Dedication", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Internet :: WWW/HTTP", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "Flask-Spyne\n===========\n\nFlask-Spyne is a `Flask `_ extension which\nprovides `Spyne `_ (formerly known as \n`soaplib `_) support. \nIncludes SOAP, WSDL, JSON, XML, YAML and other transports and protocols.\nInspired by unofficial \n`Flask-Enterprise `_\nextension (a wrapper on top of outdated `soaplib `_).\n\n* `PyPI listing `_\n\nInstallation\n------------\n::\n\n pip install flask-spyne\n\nPlease check `list of additional requirements `_\nyou might need to install.\n\nServer example\n--------------\n\n.. code-block:: python\n\n from flask import Flask\n from flask.ext.spyne import Spyne\n from spyne.protocol.soap import Soap11\n from spyne.model.primitive import Unicode, Integer\n from spyne.model.complex import Iterable\n \n app = Flask(__name__)\n spyne = Spyne(app)\n \n class SomeSoapService(spyne.Service):\n __service_url_path__ = '/soap/someservice'\n __in_protocol__ = Soap11(validator='lxml')\n __out_protocol__ = Soap11()\n \n @spyne.srpc(Unicode, Integer, _returns=Iterable(Unicode))\n def echo(str, cnt):\n for i in range(cnt):\n yield str\n \n if __name__ == '__main__':\n app.run(host = '127.0.0.1')\n\nClient example\n--------------\n\n.. code-block:: python\n\n from suds.client import Client as SudsClient\n\n url = 'http://127.0.0.1:5000/soap/someservice?wsdl'\n client = SudsClient(url=url, cache=None)\n r = client.service.echo(str='hello world', cnt=3)\n print r\n\nWS-Security\n-----------\n\nStarting from v0.2 flask-spyne supports basics of WS-Security for SOAP services.\n\nSpecify __wsse_conf__ dict with following fields::\n\n username (str, required)\n password (str, required)\n password-digest (bool, optional)\n nonce-freshness-time (int, optional)\n reject-empty-nonce-creation (bool, optional)\n reject-stale-tokens (bool, optional)\n reject-expiry-limit (int, optional)\n\nSee server_auth.py/client_auth.py in ``examples`` for more details.\n\nWritten by Robert Ayrapetyan (robert.ayrapetyan@gmail.com).\n\nNo copyright. This work is dedicated to the public domain.\nFor full details, see https://creativecommons.org/publicdomain/zero/1.0/\n\nThe third-party libraries have their own licenses, as detailed in their source files.", "description_content_type": null, "docs_url": null, "download_url": "http://pypi.python.org/pypi/Flask-Spyne", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/rayrapetyan/flask-spyne", "keywords": "flask,spyne,soap,wsdl,wsgi,zeromq,rest,rpc,json,http,msgpack,xml,werkzeug,yaml", "license": "CC0 1.0", "maintainer": "", "maintainer_email": "", "name": "Flask-Spyne", "package_url": "https://pypi.org/project/Flask-Spyne/", "platform": "any", "project_url": "https://pypi.org/project/Flask-Spyne/", "project_urls": { "Download": "http://pypi.python.org/pypi/Flask-Spyne", "Homepage": "http://github.com/rayrapetyan/flask-spyne" }, "release_url": "https://pypi.org/project/Flask-Spyne/0.3.1/", "requires_dist": null, "requires_python": "", "summary": "A Flask extension, provides support for Spyne.", "version": "0.3.1" }, "last_serial": 3080101, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "987a44fc475b0e4e654ba938e1402de2", "sha256": "5fd9e75c44f971189d2ce7c38373cdd5bfaa9b36c46b8fc3a70e393189a84960" }, "downloads": -1, "filename": "Flask-Spyne-0.1.tar.gz", "has_sig": false, "md5_digest": "987a44fc475b0e4e654ba938e1402de2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3280, "upload_time": "2014-05-13T05:44:16", "url": "https://files.pythonhosted.org/packages/dc/68/6067ecbab47055ceca348adb736f3d4b70e6a2821dec5ebc05e8241cae66/Flask-Spyne-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "9690e0e51d2b011c04954c9c95a26679", "sha256": "289eaaf7499fc3f2e55427fa3b2dceabf4b30a1d0d23940313635ce349e1ddac" }, "downloads": -1, "filename": "Flask-Spyne-0.2.tar.gz", "has_sig": false, "md5_digest": "9690e0e51d2b011c04954c9c95a26679", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4290, "upload_time": "2014-05-18T03:45:31", "url": "https://files.pythonhosted.org/packages/9a/5e/95723f7bef92f41ebcbce6fe34fbe04243bcc9bf08990004a239f030487e/Flask-Spyne-0.2.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "e8ffe78e877584c2bb392755786e221c", "sha256": "2043e8a6406f2a60fb8bb54639b44fcb4c5a46db4a53c4aa3dfdd84d8d6facc0" }, "downloads": -1, "filename": "Flask-Spyne-0.3.1.tar.gz", "has_sig": false, "md5_digest": "e8ffe78e877584c2bb392755786e221c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4024, "upload_time": "2017-08-08T03:40:55", "url": "https://files.pythonhosted.org/packages/0a/a2/436b5c7d7d6916b4b881f788f2b5f9620d82a7d90eb2004a244f6e2f23c1/Flask-Spyne-0.3.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e8ffe78e877584c2bb392755786e221c", "sha256": "2043e8a6406f2a60fb8bb54639b44fcb4c5a46db4a53c4aa3dfdd84d8d6facc0" }, "downloads": -1, "filename": "Flask-Spyne-0.3.1.tar.gz", "has_sig": false, "md5_digest": "e8ffe78e877584c2bb392755786e221c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4024, "upload_time": "2017-08-08T03:40:55", "url": "https://files.pythonhosted.org/packages/0a/a2/436b5c7d7d6916b4b881f788f2b5f9620d82a7d90eb2004a244f6e2f23c1/Flask-Spyne-0.3.1.tar.gz" } ] }