*Paste is in maintenance mode and recently moved from bitbucket to github.
Patches are accepted to keep it on life support, but for the most part, please
consider using other options.*
**As of release 3.7.0 Paste no longer supports Python 2. If you are
required to continue using Python 2 please pin an earlier version of Paste.**
**With version 3.10.0 Paste development moves to the pasteorg GitHub
organization and will be going deeper into maintenance mode unless
more active maintainers step forward to take over. "Deeper" in this
case means that releases will be much less frequent and patches
will only be accepted for security issues or major problems. Current
consumers of Paste should prepare to migrate away to more modern
solutions.**
Paste provides several pieces of "middleware" (or filters) that can be nested
to build web applications. Each piece of middleware uses the WSGI (`PEP 333`_)
interface, and should be compatible with other middleware based on those
interfaces.
.. _PEP 333: http://www.python.org/dev/peps/pep-0333/
* `Paste project at GitHub (source code, bug tracker)
<https://github.com/pasteorg/paste/>`_
* `Paste on the Python Cheeseshop (PyPI)
<https://pypi.python.org/pypi/Paste>`_
* `Paste on Read the Docs
<https://pythonpaste.readthedocs.io>`_
See also:
* `WebOb <https://docs.pylonsproject.org/projects/webob>`_
Includes these features...
Testing
-------
* A fixture for testing WSGI applications conveniently and in-process,
in ``paste.fixture``
* A fixture for testing command-line applications, also in
``paste.fixture``
* Check components for WSGI-compliance in ``paste.lint``
Dispatching
-----------
* Chain and cascade WSGI applications (returning the first non-error
response) in ``paste.cascade``
* Dispatch to several WSGI applications based on URL prefixes, in
``paste.urlmap``
* Allow applications to make subrequests and forward requests
internally, in ``paste.recursive``
Web Application
---------------
* Run CGI programs as WSGI applications in ``paste.cgiapp``
* Traverse files and load WSGI applications from ``.py`` files (or
static files), in ``paste.urlparser``
* Serve static directories of files, also in ``paste.urlparser``; also
in that module serving from Egg resources using ``pkg_resources``.
Tools
-----
* Catch HTTP-related exceptions (e.g., ``HTTPNotFound``) and turn them
into proper responses in ``paste.httpexceptions``
* Several authentication techniques, including HTTP (Basic and
Digest), signed cookies, and CAS single-signon, in the
``paste.auth`` package.
* Create sessions in ``paste.session`` and ``paste.flup_session``
* Gzip responses in ``paste.gzip``
* A wide variety of routines for manipulating WSGI requests and
producing responses, in ``paste.request``, ``paste.response`` and
``paste.wsgilib``
Debugging Filters
-----------------
* Catch (optionally email) errors with extended tracebacks (using
Zope/ZPT conventions) in ``paste.exceptions``
* Catch errors presenting traceback in ``paste.cgitb_catcher``.
* Profile each request and append profiling information to the HTML,
in ``paste.debug.profile``
* Capture ``print`` output and present it in the browser for
debugging, in ``paste.debug.prints``
* Validate all HTML output from applications using the `WDG Validator
<http://www.htmlhelp.com/tools/validator/>`_, appending any errors
or warnings to the page, in ``paste.debug.wdg_validator``
Other Tools
-----------
* A file monitor to allow restarting the server when files have been
updated (for automatic restarting when editing code) in
``paste.reloader``
* A class for generating and traversing URLs, and creating associated
HTML code, in ``paste.url``
The official development repo is at https://github.com/pasteorg/paste.
Raw data
{
"_id": null,
"home_page": "https://pythonpaste.readthedocs.io/",
"name": "Paste",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3",
"maintainer_email": null,
"keywords": "web application server wsgi",
"author": "Chris Dent",
"author_email": "chris.dent@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/d7/1c/6bc9040bf9b4cfc9334f66d2738f952384c106c48882adf6097fed3da966/paste-3.10.1.tar.gz",
"platform": null,
"description": "\n*Paste is in maintenance mode and recently moved from bitbucket to github.\nPatches are accepted to keep it on life support, but for the most part, please\nconsider using other options.*\n\n**As of release 3.7.0 Paste no longer supports Python 2. If you are\nrequired to continue using Python 2 please pin an earlier version of Paste.**\n\n**With version 3.10.0 Paste development moves to the pasteorg GitHub\norganization and will be going deeper into maintenance mode unless\nmore active maintainers step forward to take over. \"Deeper\" in this\ncase means that releases will be much less frequent and patches\nwill only be accepted for security issues or major problems. Current\nconsumers of Paste should prepare to migrate away to more modern\nsolutions.**\n\nPaste provides several pieces of \"middleware\" (or filters) that can be nested\nto build web applications. Each piece of middleware uses the WSGI (`PEP 333`_)\ninterface, and should be compatible with other middleware based on those\ninterfaces.\n\n.. _PEP 333: http://www.python.org/dev/peps/pep-0333/\n\n* `Paste project at GitHub (source code, bug tracker)\n <https://github.com/pasteorg/paste/>`_\n* `Paste on the Python Cheeseshop (PyPI)\n <https://pypi.python.org/pypi/Paste>`_\n* `Paste on Read the Docs\n <https://pythonpaste.readthedocs.io>`_\n\nSee also:\n\n* `WebOb <https://docs.pylonsproject.org/projects/webob>`_\n\nIncludes these features...\n\nTesting\n-------\n\n* A fixture for testing WSGI applications conveniently and in-process,\n in ``paste.fixture``\n\n* A fixture for testing command-line applications, also in\n ``paste.fixture``\n\n* Check components for WSGI-compliance in ``paste.lint``\n\nDispatching\n-----------\n\n* Chain and cascade WSGI applications (returning the first non-error\n response) in ``paste.cascade``\n\n* Dispatch to several WSGI applications based on URL prefixes, in\n ``paste.urlmap``\n\n* Allow applications to make subrequests and forward requests\n internally, in ``paste.recursive``\n\nWeb Application\n---------------\n\n* Run CGI programs as WSGI applications in ``paste.cgiapp``\n\n* Traverse files and load WSGI applications from ``.py`` files (or\n static files), in ``paste.urlparser``\n\n* Serve static directories of files, also in ``paste.urlparser``; also\n in that module serving from Egg resources using ``pkg_resources``.\n\nTools\n-----\n\n* Catch HTTP-related exceptions (e.g., ``HTTPNotFound``) and turn them\n into proper responses in ``paste.httpexceptions``\n\n* Several authentication techniques, including HTTP (Basic and\n Digest), signed cookies, and CAS single-signon, in the\n ``paste.auth`` package.\n\n* Create sessions in ``paste.session`` and ``paste.flup_session``\n\n* Gzip responses in ``paste.gzip``\n\n* A wide variety of routines for manipulating WSGI requests and\n producing responses, in ``paste.request``, ``paste.response`` and\n ``paste.wsgilib``\n\nDebugging Filters\n-----------------\n\n* Catch (optionally email) errors with extended tracebacks (using\n Zope/ZPT conventions) in ``paste.exceptions``\n\n* Catch errors presenting traceback in ``paste.cgitb_catcher``.\n\n* Profile each request and append profiling information to the HTML,\n in ``paste.debug.profile``\n\n* Capture ``print`` output and present it in the browser for\n debugging, in ``paste.debug.prints``\n\n* Validate all HTML output from applications using the `WDG Validator\n <http://www.htmlhelp.com/tools/validator/>`_, appending any errors\n or warnings to the page, in ``paste.debug.wdg_validator``\n\nOther Tools\n-----------\n\n* A file monitor to allow restarting the server when files have been\n updated (for automatic restarting when editing code) in\n ``paste.reloader``\n\n* A class for generating and traversing URLs, and creating associated\n HTML code, in ``paste.url``\n\nThe official development repo is at https://github.com/pasteorg/paste.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Tools for using a Web Server Gateway Interface stack",
"version": "3.10.1",
"project_urls": {
"Bug Tracker": "https://github.com/pasteorg/paste/issues",
"Documentation": "https://pythonpaste.readthedocs.io",
"Homepage": "https://pythonpaste.readthedocs.io/",
"Source": "https://github.com/pasteorg/paste"
},
"split_keywords": [
"web",
"application",
"server",
"wsgi"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "2e14032895c25726a859bf48b8ed68944c3efc7a3decd920533ed929f12f08a1",
"md5": "d15bc423ce4910b175a4e76ccaf4022d",
"sha256": "995e9994b6a94a2bdd8bd9654fb70ca3946ffab75442468bacf31b4d06481c3d"
},
"downloads": -1,
"filename": "Paste-3.10.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d15bc423ce4910b175a4e76ccaf4022d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3",
"size": 289253,
"upload_time": "2024-05-01T11:41:05",
"upload_time_iso_8601": "2024-05-01T11:41:05.310916Z",
"url": "https://files.pythonhosted.org/packages/2e/14/032895c25726a859bf48b8ed68944c3efc7a3decd920533ed929f12f08a1/Paste-3.10.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d71c6bc9040bf9b4cfc9334f66d2738f952384c106c48882adf6097fed3da966",
"md5": "7d59952c9e108d8d381944b40e90e47a",
"sha256": "1c3d12065a5e8a7a18c0c7be1653a97cf38cc3e9a5a0c8334a9dd992d3a05e4a"
},
"downloads": -1,
"filename": "paste-3.10.1.tar.gz",
"has_sig": false,
"md5_digest": "7d59952c9e108d8d381944b40e90e47a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3",
"size": 652629,
"upload_time": "2024-05-01T11:41:08",
"upload_time_iso_8601": "2024-05-01T11:41:08.536178Z",
"url": "https://files.pythonhosted.org/packages/d7/1c/6bc9040bf9b4cfc9334f66d2738f952384c106c48882adf6097fed3da966/paste-3.10.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-05-01 11:41:08",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "pasteorg",
"github_project": "paste",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"tox": true,
"lcname": "paste"
}