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.
These allow you to add authorization to your web applications.
repoze.who - a WSGI authentication framework implemented as middleware.
repoze.what - a WSGI authorization framework implemented as middleware.
Auth modules - a module collection for authentication purposes (last updated 2002)
Dataenc - allows secure and time limited logins to be encoded into Web pages for use with Web applications (last updated 2004)
HTTP basic authentication example (this is a CGI script)
wheezy.html is a lightweight HTML widget rendering library with preprocessing features for template engines.
wheezy.validation is a lightweight model update and validation library.
WTForms is a forms validation and rendering library for python web development.
FormEncode - is a validation and form generation package.
FormBuild is a package designed to help with the generation of HTML form components.
tw.forms - Web Widgets for building and validating forms.
Deform is a featureful framework-agnostic form generation system.
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.
selector - provides WSGI middleware for "RESTful" mapping of URL paths to WSGI applications.
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 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.
- Blazingly Fast: Maximum rendering performance: ultimate speed and context preprocessor features.
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.