{ "info": { "author": "Allan Crooks", "author_email": "allan@increment.one", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Topic :: Internet :: WWW/HTTP :: WSGI :: Middleware", "Topic :: Software Development :: Libraries", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": ".. _repository: https://github.com/the-allanc/pyriform/\n.. _documentation: https://pyriform.readthedocs.io/en/stable/\n.. _pypi: https://pypi.python.org/pypi/pyriform\n.. _coveralls: https://coveralls.io/github/the-allanc/pyriform\n.. _license: https://github.com/the-allanc/pyriform/master/LICENSE.txt\n.. _travis: https://travis-ci.org/the-allanc/pyriform\n.. _codeclimate: https://codeclimate.com/github/the-allanc/pyriform\n\n.. |Build Status| image:: https://img.shields.io/travis/the-allanc/pyriform.svg\n :target: travis_\n :alt: Build Status\n.. |Coverage| image:: https://img.shields.io/coveralls/the-allanc/pyriform.svg\n :target: coveralls_\n :alt: Coverage\n.. |Docs| image:: https://readthedocs.org/projects/pyriform/badge/?version=stable&style=flat\n :target: documentation_\n :alt: Docs\n.. |Release Version| image:: https://img.shields.io/pypi/pyversions/pyriform.svg\n :target: pypi_\n :alt: Release Version\n.. |Python Version| image:: https://img.shields.io/pypi/v/pyriform.svg\n :target: pypi_\n :alt: Python Version\n.. |License| image:: https://img.shields.io/pypi/l/pyriform.svg\n :target: license_\n :alt: License\n.. |Code Climate| image:: https://img.shields.io/codeclimate/issues/github/the-allanc/pyriform.svg\n :target: codeclimate_\n :alt: Code Climate\n\n.. _requests: http://python-requests.org\n.. _webtest: https://docs.pylonsproject.org/projects/webtest/\n\nLinking the Requests_ and WebTest_ libraries together, ``pyriform`` allows you to use the ``requests`` library to interact your WSGI app without needing to have it running on the network; it bonds these two web components together.\n\nIt's useful for testing purposes, handles all standard HTTP methods (as well as custom ones), supports request timeouts. and is both Python 2 and 3 compatible.\n\nExample Usage\n-------------\n\n.. _cherrypy: http://www.cherrypy.org\n\nHere's an example with a small WSGI app (in this case, using CherryPy_), and how we can use Pyriform to connect to it::\n\n >>> # Create the WSGI app.\n >>>\n >>> import cherrypy\n >>>\n >>> class SayHello(object):\n ...\n ... @cherrypy.expose\n ... def default(self, word):\n ... return \"Hello %s from %s!\" % (word, cherrypy.request.headers['X-Location'])\n ...\n >>> cherrypy.config.update({'environment': 'embedded'}) # Suppress logging output.\n >>> app = cherrypy.tree.mount(SayHello(), '/')\n >>>\n >>> # Now use Pyriform to map requests from a particular URL to this app.\n >>>\n >>> import pyriform\n >>> import requests\n >>> adapter = pyriform.WSGIAdapter(app)\n >>> session = requests.Session()\n >>> session.mount('http://helloapp/', adapter)\n >>> resp = session.get('http://helloapp/World', headers={'X-Location': 'London'})\n >>> print (resp.text)\n Hello World from London!\n\n\n|Docs| |Release Version| |Python Version| |License| |Build Status| |Coverage| |Code Climate|\n\n.. all-content-above-will-be-included-in-sphinx-docs\n\nYou can browse the source code and file bug reports at the project repository_. Full documentation can be found `here`__.\n\n__ documentation_\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/the-allanc/pyriform/", "keywords": "requests,wsgi", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "pyriform", "package_url": "https://pypi.org/project/pyriform/", "platform": "", "project_url": "https://pypi.org/project/pyriform/", "project_urls": { "Homepage": "https://github.com/the-allanc/pyriform/" }, "release_url": "https://pypi.org/project/pyriform/0.5/", "requires_dist": [ "requests", "six", "webtest", "allanc-sphinx[yeen] (>=0.2); extra == 'docs'", "collective.checkdocs; extra == 'docs'", "jaraco.packaging (>=3.2); extra == 'docs'", "rst.linker (>=1.9); extra == 'docs'", "sphinx; extra == 'docs'", "cherrypy; extra == 'testing'", "httpbin; extra == 'testing'", "pytest (>=2.8); extra == 'testing'", "pytest-sugar; extra == 'testing'" ], "requires_python": ">=2.7", "summary": "Connect the requests library to your WSGI app without using sockets.", "version": "0.5" }, "last_serial": 3150307, "releases": { "0.3": [ { "comment_text": "", "digests": { "md5": "a0a9da42254ad846348c81a6f1dea783", "sha256": "8baf92cebfa900cf0483ab2b81ab3c36d831c997e97b8795644009738cd4ac31" }, "downloads": -1, "filename": "pyriform-0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a0a9da42254ad846348c81a6f1dea783", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7", "size": 6718, "upload_time": "2017-08-29T12:49:48", "url": "https://files.pythonhosted.org/packages/dd/6c/06a3b1ffd020e5c8bb766bf3de09dbc391c94ea6bd4f45571d5f2206dd6f/pyriform-0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fde784bbeb5bcf6756d6049fda83cd73", "sha256": "c896aa94f69999e41f0a05e7a6c3e001454090f5eba70f040860f73d747ea2eb" }, "downloads": -1, "filename": "pyriform-0.3.tar.gz", "has_sig": false, "md5_digest": "fde784bbeb5bcf6756d6049fda83cd73", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 4723, "upload_time": "2017-08-29T12:49:50", "url": "https://files.pythonhosted.org/packages/16/bc/b8baed96c4cea575ed23136f405abd8ff78d9bf70cc77349f365621f18e6/pyriform-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "49d467a305025d50bdab4b375984268b", "sha256": "e39413216bfd412ab69b2a43417e0dc7d1a4fed229173324846347d1e89c152d" }, "downloads": -1, "filename": "pyriform-0.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "49d467a305025d50bdab4b375984268b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7", "size": 7863, "upload_time": "2017-09-01T01:01:54", "url": "https://files.pythonhosted.org/packages/b6/43/8d1ac49f5b398726cf15beafaaa42f2e08653ca3b333b9dfcbaaa73a932f/pyriform-0.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8197dfffb4528c8aabf083eb76f6f9c2", "sha256": "9c7a7777d985f3152f632496e4268e7e0b5df1d3415e784d53c797497470c930" }, "downloads": -1, "filename": "pyriform-0.4.tar.gz", "has_sig": false, "md5_digest": "8197dfffb4528c8aabf083eb76f6f9c2", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 5869, "upload_time": "2017-09-01T01:01:57", "url": "https://files.pythonhosted.org/packages/b9/77/1cb07066b3cdf8062d76ced634f4a685b45af0eca71f8726b06f6ba6985e/pyriform-0.4.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "6582b90375f2cae8f2fe397c28f1f606", "sha256": "1474d41f8a7da1a8c86c12a72795b880e0f74198c68e05276256a37878e61028" }, "downloads": -1, "filename": "pyriform-0.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6582b90375f2cae8f2fe397c28f1f606", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7", "size": 8230, "upload_time": "2017-09-05T12:55:12", "url": "https://files.pythonhosted.org/packages/88/a5/bc248993237a564976b28a494f8a2ad36621f32b427d95a7985b413447ef/pyriform-0.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "37dc7c605ebc2328edb23e4cffb5b768", "sha256": "df9f40cbd9a4d20bb16ff64480e561f0375d663d931cbddbe2fefea5d6fdd116" }, "downloads": -1, "filename": "pyriform-0.5.tar.gz", "has_sig": false, "md5_digest": "37dc7c605ebc2328edb23e4cffb5b768", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 6214, "upload_time": "2017-09-05T12:55:13", "url": "https://files.pythonhosted.org/packages/f5/0b/6c0140d16cb2fd8f9a8c217c82a2ffa7c2e4e1c597f0d19ba16bb733d8e2/pyriform-0.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "6582b90375f2cae8f2fe397c28f1f606", "sha256": "1474d41f8a7da1a8c86c12a72795b880e0f74198c68e05276256a37878e61028" }, "downloads": -1, "filename": "pyriform-0.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6582b90375f2cae8f2fe397c28f1f606", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7", "size": 8230, "upload_time": "2017-09-05T12:55:12", "url": "https://files.pythonhosted.org/packages/88/a5/bc248993237a564976b28a494f8a2ad36621f32b427d95a7985b413447ef/pyriform-0.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "37dc7c605ebc2328edb23e4cffb5b768", "sha256": "df9f40cbd9a4d20bb16ff64480e561f0375d663d931cbddbe2fefea5d6fdd116" }, "downloads": -1, "filename": "pyriform-0.5.tar.gz", "has_sig": false, "md5_digest": "37dc7c605ebc2328edb23e4cffb5b768", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 6214, "upload_time": "2017-09-05T12:55:13", "url": "https://files.pythonhosted.org/packages/f5/0b/6c0140d16cb2fd8f9a8c217c82a2ffa7c2e4e1c597f0d19ba16bb733d8e2/pyriform-0.5.tar.gz" } ] }