3556
Comment: cheeseshop.python.org -> pypi.python.org
|
6169
fixed broken link
|
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. * [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] |
== 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 [[http://pypi.python.org/pypi/AuthKit|AuthKit]]. * [[http://docs.repoze.org/who/|repoze.who]] - a WSGI authentication framework implemented as middleware. * [[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 15: | 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. * [http://pypi.python.org/pypi/twForms/ twForms] - Web Widgets for building and validating forms. |
* [[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. * [[http://pypi.python.org/pypi/tw.forms/|tw.forms]] - Web Widgets for building and validating forms. * [[http://docs.repoze.org/deform|Deform]] is a featureful framework-agnostic form generation system. |
Line 22: | 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 24: | Line 37: |
* [http://routes.groovie.org/ 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. * [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. |
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. * [[http://routes.groovie.org/|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. * [[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 30: | 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. | |
Line 32: | Line 49: |
* [http://www.myghty.org/ Myghty ] (1.0 Released 2006-01-27) is a Python based templating framework originally based on HTML::Mason * [http://www.makotemplates.org/ Mako] is an all-new templating engine which represents the best ideas of Myghty distilled into a completely-rewritten and updated API and syntax. * [http://www.thomas-lotze.de/en/software/ophelia/ 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 * [http://www.cheetahtemplate.org/ Cheetah] - Cheetah is a Python-powered template engine and code generator. It may be used as a standalone utility or combined with other tools. * [http://genshi.edgewall.org/ 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. |
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 & ... * [[http://www.makotemplates.org/|Mako]] is an all-new templating engine which represents the best ideas of Myghty distilled into a completely-rewritten and updated API and syntax. * [[http://www.thomas-lotze.de/en/software/ophelia/|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|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 * [[http://www.cheetahtemplate.org/|Cheetah]] - Cheetah is a Python-powered template engine and code generator. It may be used as a standalone utility or combined with other tools. * [[http://genshi.edgewall.org/|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. |
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.
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. 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.