Features
Testing
- A fixture for testing WSGI applications conveniently and in-process,
in
paste.fixture.TestApp
- A fixture for testing command-line applications, also in
paste.fixture.TestFileEnvironment
- Check components for WSGI-compliance in
paste.lint
- Check filesystem changes, with
paste.debug.fsdiff
Server
- A threaded HTTP server in
paste.httpserver
- A tool for seeing and killing errant threads in the HTTP server, in
paste.debug.watchthreads
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
Authentication
- Authentication using cookies in
paste.auth.cookie
and
paste.auth.auth_tkt
; login form in paste.auth.form
- Authentication using OpenID in
paste.auth.open_id
, using CAS in paste.auth.cas
- HTTP authentication in
paste.auth.basic
and
paste.auth.digest
- Dispatch to different authentication methods based on User-Agent, in
paste.auth.multi
- Grant roles based on IP addresses, in
paste.auth.grantip
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