4157
Comment: Added WTForms and Jinja2.
|
6276
remove redundant/accidental WikiLink to absent page which will probably never exist
|
Deletions are marked like this. | Additions are marked like this. |
Line 3: | Line 3: |
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. | |
Line 5: | Line 4: |
== Authorisation Toolkits == | For use with some of the frameworks listed on [[WebFrameworks|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. |
Line 7: | Line 6: |
These allow you to add authorisation to your web applications. | |
Line 9: | Line 7: |
* [[http://authkit.org/|AuthKit]] is a WSGI framework that provides a structure for implementing your own authorisation and authentication system. | == Authorization Toolkits == These allow you to add authorization to your web applications. * [[http://pypi.python.org/pypi/AuthKit|AuthKit]] is a WSGI framework that provides a structure for implementing your own authorization and authentication system. (Note [[http://wiki.pylonshq.com/display/authkitcookbook/Home|AuthKit has been discontinued since 2010-06-04.]]) * [[http://gthcfoundation.org/wiki/LibAuthKit|LibAuthKit]] - A fork of [[http://pypi.python.org/pypi/AuthKit|AuthKit]] in active development... |
Line 11: | Line 16: |
* [[http://www.chrisarndt.de/en/software/python/#auth|Auth modules]] - a module collection for authentication purposes * [[http://www.voidspace.org.uk/python/modules.shtml#dataenc|Dataenc]] - allows secure and time limited logins to be encoded into Web pages for use with Web applications * [[http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/305288|HTTP basic authentication example]] |
* [[http://what.repoze.org/docs/1.0/|repoze.what]] - a WSGI authorization framework implemented as middleware. * [[http://www.chrisarndt.de/en/software/python/#auth|Auth modules]] - a module collection for authentication purposes (last updated 2002) * [[http://www.voidspace.org.uk/python/archive.shtml#dataenc|Dataenc]] - allows secure and time limited logins to be encoded into Web pages for use with Web applications (last updated 2004) * [[http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/305288|HTTP basic authentication example]] (this is a CGI script) |
Line 16: | Line 23: |
* [[https://bitbucket.org/akorn/wheezy.html|wheezy.html]] is a lightweight HTML widget rendering library with preprocessing features for template engines. * [[https://bitbucket.org/akorn/wheezy.validation|wheezy.validation]] is a lightweight model update and validation library. |
|
Line 18: | Line 28: |
* [[http://formencode.org/|FormEncode]] - is a validation and form generation package. * [[http://formbuild.org/|FormBuild]] - FormBuild is a package designed to help with the generation of HTML form components. |
* [[http://formencode.org/|FormEncode]] - is a validation and form generation package. * [[https://pypi.python.org/pypi/FormBuild/|FormBuild]] is a package designed to help with the generation of HTML form components. |
Line 21: | Line 31: |
* [[http://docs.repoze.org/deform|Deform]] is a featureful framework-agnostic form generation system. |
|
Line 24: | Line 36: |
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). | |
Line 26: | Line 37: |
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). * [[https://bitbucket.org/akorn/wheezy.routing|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. |
|
Line 30: | Line 45: |
Line 32: | Line 48: |
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. | 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|Templating]] page. * [[https://bitbucket.org/akorn/wheezy.template|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. |
Line 35: | Line 59: |
* [[http://www.clearsilver.net/|ClearSilver ]] is a templating framework for Python/C/Perl, this templating system is used in Google Groups & ... * [[http://www.myghty.org/|Myghty ]] (1.0 Released 2006-01-27) is a Python based templating framework originally based on HTML::Mason |
* [[http://chameleon.repoze.org/|Chameleon]] is a fast implementation of both TAL and Genshi syntaxes that compiles templates to python byte-code on first use. * [[http://www.clearsilver.net/|ClearSilver]] is a templating framework for Python/C/Perl, this templating system is used in Google Groups & ... * [[http://www.myghty.org/|Myghty]] (1.0 Released 2006-01-27) is a Python based templating framework originally based on HTML::Mason |
Line 39: | Line 64: |
* [[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 | * [[JonsPythonModules|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 |
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.
Authorization Toolkits
These allow you to add authorization to your web applications.
AuthKit is a WSGI framework that provides a structure for implementing your own authorization and authentication system. (Note AuthKit has been discontinued since 2010-06-04.)
LibAuthKit - A fork of AuthKit in active development...
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)
Form Handling
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.
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.
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
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.