From 018c0fb6ec47c2ec69ae1c51aa4e6502094fa047 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Wed, 22 Apr 2015 03:45:27 +0200 Subject: Extract README.rst from setup.py Add links to Paste websites and related projects --- README.rst | 109 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ setup.py | 101 +++----------------------------------------------------- 2 files changed, 113 insertions(+), 97 deletions(-) create mode 100644 README.rst diff --git a/README.rst b/README.rst new file mode 100644 index 0000000..3b2ab8f --- /dev/null +++ b/README.rst @@ -0,0 +1,109 @@ +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.html + +* `Paste project at Bitbucket (source code, bug tracker) + `_ +* `Paste on the Python Cheeseshop (PyPI) + `_ +* `Paste documentation + `_ + +See also: + +* `PasteDeploy `_ +* `PasteScript `_ +* `WebTest `_ +* `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 a `cgitb + `_-based + output, 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 + `_, 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://bitbucket.org/ianb/paste. + +For the latest changes see the `news file +`_. diff --git a/setup.py b/setup.py index 88ce93b..574024c 100644 --- a/setup.py +++ b/setup.py @@ -29,106 +29,13 @@ sys.path.insert(0, os.path.join(os.path.dirname(__file__), 'paste', 'util')) import finddata +with open("README.rst") as fp: + README = fp.read() + setup(name="Paste", version=__version__, description="Tools for using a Web Server Gateway Interface stack", - long_description="""\ -These provide 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.html - -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 a `cgitb - `_-based - output, 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 - `_, 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://bitbucket.org/ianb/paste. - -For the latest changes see the `news file -`_. - -""", + long_description=README, classifiers=[ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", -- cgit v1.2.1