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
Dataenc - allows secure and time limited logins to be encoded into Web pages for use with Web applications
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.
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.If you've ever created a WSGI application without a framework of an request handler you know how hard this can be.
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 & ...
Myghty (1.0 Released 2006-01-27) is a Python based templating framework originally based on HTML::Mason
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.