Differences between revisions 8 and 33 (spanning 25 versions)
Revision 8 as of 2009-06-14 19:27:42
Size: 3908
Comment:
Revision 33 as of 2017-02-27 10:29:32
Size: 6131
Comment:
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://isotopesoftware.ca/wiki/LibAuthKit|LibAuthKit]] - A fork of Auth``Kit.
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:
   * [[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.


 * [[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.
 * [[http://wtforms.simplecodes.com/|WTForms]] is a forms validation and rendering library for python web development.
 * [[http://formencode.org/|FormEncode]] - is a validation and form generation package.
 * [[http://pypi.python.org/pypi/FormBuild/|FormBuild]] is a package designed to help with the generation of HTML form components.
Line 20: Line 31:
 * [[http://docs.repoze.org/deform|Deform]] is a featureful framework-agnostic form generation system.
Line 23: 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 25: 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 26: Line 42:
 * [[http://lukearno.com/projects/selector/|selector]] - provides WSGI middleware for "RESTful" mapping of URL paths to WSGI applications.
 * [[http://wsgiarea.pocoo.org/colubrid/|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.
 * [[http://pypi.python.org/pypi/selector/|selector]] - provides WSGI middleware for "RESTful" mapping of URL paths to WSGI applications.
 * [[http://wsgiarea.pocoo.org/colubrid/|Colubrid]] is a WSGI publisher which simplifies Python web developement. However, it should be possible to do the same things using [[http://werkzeug.pocoo.org/|Werkzeug]], a more recent Pocoo project offering a collection of web components.
Line 31: 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.
Line 33: Line 49:
 * [[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
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.

 * [[http://jinja.pocoo.org/2/|Jinja2]] is a small but fast and easy to use stand-alone template engine written in pure python.
 * [[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 & ...
Line 37: Line 63:
 * [[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.

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. 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.
    • 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.

WebComponents (last edited 2017-02-27 10:29:32 by EtienneRobillard)

Unable to edit the page? See the FrontPage for instructions.