Page

User

Web Components

For use with some of the frameworks listed on WebFrameworks, the components/libraries/toolkits on this page often attempt to solve common problems in a way that can work with more than one particular framework; the idea being that you choose the component which does a particular job and it hopefully works with the framework you're developing your application in.

Request Dispatchers

A dispatcher takes the requests (i.e. the URL that a user types in) and then provides the response (i.e. the web application that creates the webpage that the user sees).

wheezy.routing is a lightweight path routing library. It is a simple mapping between URL patterns (as plain simple strings, curly expressions or regular expressions) to a handler that can be anything you like. The mapping can include other mappings and constructed dynamically.

Routes is a Python re-implementation of the Rails routes system for mapping URL's to Controllers/Actions and generating URL's. Routes makes it easy to create pretty and concise URL's that are RESTful with little effort.

Colubrid is a WSGI publisher which simplifies Python web developement. However, it should be possible to do the same things using Werkzeug, a more recent Pocoo project offering a collection of web components.

Templating Engines

Templating engines allow you to separate your application code from the presentation. Many of these engines can be used alone or within a high-level framework. A more extensive list can be found on the Templating page.

wheezy.template is written in pure Python code. It is a lightweight template library. The design goals achived:

Compact, Expressive, Clean: Minimizes the number of keystrokes required to build a template. Enables fast and well read coding.

Intuitive, No time to Learn: Basic Python programming skills plus HTML markup. You are productive just from start. Use full power of Python with minimal markup required to denote python statements.

Do Not Repeat Yourself: Master layout templates for inheritance; include and import directives for maximum reuse.

Jinja2 is a small but fast and easy to use stand-alone template engine written in pure python.

Chameleon is a fast implementation of both TAL and Genshi syntaxes that compiles templates to python byte-code on first use.

ClearSilver is a templating framework for Python/C/Perl, this templating system is used in Google Groups & ...

Mako is an all-new templating engine which represents the best ideas of Myghty distilled into a completely-rewritten and updated API and syntax.

Ophelia (0.3 Released 2007-07-06) Generates XHTML pages from TAL templates. This avoids repetitive code, allows the site content to reside in the file system instead of a database, and lets Python scripts make the content dynamic.

JonsPythonModules (1.06 Released 2004-04-11) a set of simple yet powerful multi-threaded object-oriented CGI/FastCGI/mod_python/html-templating modules for Python

Cheetah - Cheetah is a Python-powered template engine and code generator. It may be used as a standalone utility or combined with other tools.

Genshi is a Python library that provides an integrated set of components for parsing, generating, and processing HTML, XML or other textual content for output generation on the web.