Skip to main content

Tools for using a Web Server Gateway Interface stack

Project 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.

Includes these features…


  • 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


  • 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 (and Python-sepcific CGI programs with paste.pycgiwrapper)
  • Traverse files and load WSGI applications from .py files (or static files), in paste.urlparser
  • Serve static directories of files, also in paste.urlparser


  • Catch HTTP-related exceptions (e.g., HTTPNotFound) and turn them into proper responses in paste.httpexceptions
  • Check for signed cookies for authentication, setting REMOTE_USER in paste.login
  • 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.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.profilemiddleware
  • Capture print output and present it in the browser for debugging, in paste.printdebug
  • Validate all HTML output from applications using the WDG Validator, appending any errors or warnings to the page, in paste.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 subversion repository is available

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for Paste, version 0.3
Filename, size File type Python version Upload date Hashes
Filename, size Paste-0.3-py2.3.egg (308.4 kB) File type Egg Python version 2.3 Upload date Hashes View
Filename, size Paste-0.3-py2.4.egg (305.8 kB) File type Egg Python version 2.4 Upload date Hashes View
Filename, size Paste-0.3.tar.gz (143.8 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page