Python Paste ============ Python Paste -- 50% tastier than Elmer's! Paste: making the web sticky. Fix broken websites by applying a Paste liberally. Paste: paper over your inconsistencies. Paste: a soft mixture of malleable consistency. Paste: a tasty mixture to be spread on bread or crackers. Paste: the glue that won't hurt you when you eat it. Python Paste: the web extruded into the form of a snake. Paste: the vinegar eel. Paste: you bring the cut. Paste: a doughy substance from which to make metaphorical web cupcakes. Python Paste brings consistency to Python web development and web application installation, providing tools for both developers and system administrators. Paste for Administrators ------------------------ * Easily install, run, and configure multiple Paste-enabled web applications at once, and integrate them into your website how you want (SCGI, FCGI, AJP, WSGI) * Manage and install web applications system-wide for easy maintenance * `See an installation example `_ or `read more about what Paste-enabled means... `_ Paste for Web Developers ------------------------ * Increase your web application's audience * Provide starter templates and custom commands for using your web framework * Keep your development and deployment straightened out, and your automated testing streamlined * Attention payed to the full development cycle -- starting projects, converting old projects, updating and deploying projects -- using a set of `complimentary packages and tools `_ * `See a development example `_ or `read more about using Paste in your applications... `_ Documentation ============= Tutorials and Introduction ========================== * `To-Do Tutorial `_ The core Paste package is a set of tools that use `WSGI `_ heavily as the means of communication. WSGI is an in-process CGI-like communication protocol. Right now the best way to see the various tools available in Paste is to `look through the source `_. Related Projects ================ Closely related packages: * `Paste Deploy `_ * `Paste Script `_ * `Paste WebKit `_ * `Wareweb `_ Developer Documentation ======================= * `Developer Guidelines `_ * `Style Guide `_ Reference Documentation ======================= * `Testing Applications With Paste `_ * `URL Parsing with WSGI and Paste `_ License ======= Paste is distributed under the `Python Software Foundation`__ license. This is a BSD/MIT-style license. .. __: http://www.python.org/psf/license.html Overview ======== If you don't want to look through source, here's a quick overview of what there is here: 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`` (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`` Tools ----- * 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``