Features
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
- Redirect error pages (e.g., 404 Not Found) to custom error pages, in
paste.errordocument.
Web Application
- Easily deal with incoming requests and sending a response in
paste.wsgiwrappers
- Work directly with the WSGI environment in paste.request
- 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
serve using the Setuptools pkg_resources resource API.
- Proxy to other servers, treating external HTTP servers as WSGI
applications, in paste.proxy.
- Serve files (with support for If-Modified-Since, etc) in
paste.fileapp
Debugging Filters
- Catch (optionally email) errors with extended tracebacks (using
Zope/ZPT conventions) in paste.exceptions
- During debugging, show tracebacks with information about each stack
frame, including an interactive prompt that runs in the individual
stack frames, in paste.evalexception.
- 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
- 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
- A small templating language (for internal use) in
paste.util.template
- A class to help with loops in templates, in paste.util.looper
- Import modules and objects given a string, in
paste.util.import_string
- Ordered dictionary that can have multiple values with the same key,
in paste.util.multidict