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

Tools

  • Catch HTTP-related exceptions (e.g., HTTPNotFound) and turn them into proper responses in paste.httpexceptions
  • Manage HTTP header fields with paste.httpheaders
  • Handle authentication/identification of requests in paste.auth
  • Create sessions in paste.session and paste.flup_session
  • Gzip responses in paste.gzipper
  • A wide variety of routines for manipulating WSGI requests and producing responses, in paste.request, paste.response and paste.wsgilib.
  • Create Apache-style logs in paste.translogger
  • Handy request and response wrappers in paste.wsgiwrappers
  • Handling of request-local module globals sanely in paste.registry

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

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
  • 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

Table Of Contents

Previous topic

The Paste HTTP Server Thread Pool

Next topic

Python Paste Developer Guide

This Page