8846
Comment: Added PyWebLib.
|
14222
|
Deletions are marked like this. | Additions are marked like this. |
Line 5: | Line 5: |
A Web framework is a collection of packages or modules which allow developers to write Web applications or services without having to handle such low-level details as protocols, sockets or process/thread management. As a developer using a framework, you typically write code which conforms to some kind of conventions, with the benefit being that most of the code can be concerned with the logic of the application, rather than working out how to process incoming network messages, spawn processes, work out which part of the application should be invoked, and so on. | A Web framework is a collection of packages or modules which allow developers to write Web applications (see WebApplications) or services without having to handle such low-level details as protocols, sockets or process/thread management. As a developer using a framework, you typically write code which conforms to some kind of conventions, with the benefit being that most of the code can be concerned with the logic of the application, rather than working out how to process incoming network messages, spawn processes, work out which part of the application should be invoked, and so on. |
Line 9: | Line 9: |
== Full-Stack Frameworks == | == Note == |
Line 11: | Line 11: |
These frameworks probably cover every area from providing a Web server through database access and persistence to templating and presentation: | This page does not attempt to list every single Python Web framework that exists or has ever existed, nor does it provide measures of popularity or selection criteria, although the "Popularity" and "Comparisons and Tests" sections provide some additional information along with links to other useful resources. |
Line 13: | Line 13: |
* ["4Suite"] * CherryPy (2.2.0 Released 2006-01-27)CherryPy is a pythonic, object-oriented web development framework * ["Cymbeline"] (1.3.1 Released 2005-12-09)application server framework, including functionality such as DB and arbitrary object pooling, web servers, persistant object repository, and a text console * ["Django"] (0.95 Released 2006-07-29) Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design * ["Karrigell"] (2.3 Released 2006-06-24) designed to be really simple to use : integrated web server and data base * [http://plone.org/ Plone] (2.5 Released 2006-06-17) Plone is a Python based popular contet management system running on Zope application server * [http://pythonpaste.org/ Python Paste ] (0.4.1 Released 2006-02-18) brings consistency to Python web development and web application installation, providing tools for both developers and system administrators * [http://pylonshq.com/ Pylons] (0.9 Released 2006-07-27) Pylons is a lightweight web framework emphasizing flexibility and rapid development. It combines the very best ideas from the worlds of Ruby, Python and Perl, providing a structured but extremely flexible Python web framework. It's also one of the first projects to leverage the emerging WSGI standard, which allows extensive re-use and flexibility but only if you need it. Out of the box, Pylons aims to make web development fast, flexible and easy. * SkunkWeb * [http://www.turbogears.org/ TurboGears] (0.8.9 Released 2006-01-10) TurboGears is the rapid web development megaframework you've been looking for * [http://webpy.org/ web.py] (.137 Released 2006-03-27) Think about the ideal way to write a web app. Write the code to make it happen * [http://www.webwareforpython.org/ Webware] (0.9.1 Released 2006-04-23) is a suite of Python packages and tools for developing object-oriented, web-based applications * [http://www.zope.org/ Zope] (2.9 Released 2006-01-07) server for building content management systems, intranets, portals, and custom applications |
Be warned that many of the frameworks listed are no longer actively maintained. == High Level Full-Stack Frameworks == These are the main high-level frameworks. Most of them consist of many of the components listed further down the page. * ["Django"] (0.96 Released 2007-03-23) a high-level Python Web framework that encourages rapid development and clean, pragmatic design * [http://pylonshq.com/ Pylons] (0.9.6 Released 2007-08) a lightweight Web framework emphasizing flexibility and rapid development. It combines the very best ideas from the worlds of Ruby, Python and Perl, providing a structured but extremely flexible Python Web framework. It's also one of the first projects to leverage the emerging WSGI standard, which allows extensive re-use and flexibility but only if you need it. Out of the box, Pylons aims to make Web development fast, flexible and easy. Pylons is built on top of Paste (see below). * [http://www.turbogears.org/ TurboGears] (1.0 Released 2007-01-03) the rapid Web development megaframework you've been looking for. Combines ["CherryPy"], Kid, SQLObject and MochiKit. After reviewing the website check out: [http://lucasmanual.com/mywiki/TurboGears QuickStart Manual] * [http://www.zope.org/ Zope] (2.10.3 Released 2007-03-25, 3.3.1 Released 2007-01-14) a server for building ContentManagementSystems, intranets, portals, and custom applications. == Templating Engines == * [http://www.myghty.org/ Myghty ] (1.0 Released 2006-01-27) Web application framework originally ported from HTML::Mason * [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. == HTTP frameworks == The packages provide the base 'application server', either running as its own independent process or upon Apache. You can then bring your own applications or other components to run on top of it. * ["CherryPy"] (3.0.2 Released 2007-08-07) is a pythonic, object-oriented HTTP framework. CherryPy powered web applications are in fact stand-alone Python applications embedding their own multi-threaded web server.["TurboGears"] (see above) also uses CherryPy. * [http://pythonpaste.org/ Python Paste] (1.4 Released 2007-06-26) brings consistency to Python Web development and Web application installation, providing tools for both developers and system administrators. Also, Pylons (see above) is built on top of Paste. * [http://www.movatis.com/crusader Crusader] is a powerful application server for Python based upon a scaleable, extensible and easy-to-use general purpose server framework. * ["Karrigell"] (2.3.3 Released 2007-01-15) is a flexible Python web framework, with a clear and intuitive syntax. It is independent from any database, ORM or templating engine, and lets the programmer choose between a variety of coding styles. * SkunkWeb (3.4.0 Released 2004-09-10) == Content Management Systems == Some CMS' allow you to build application like functionality upon them. See ContentManagementSystems for more details. == Other Frameworks == These components are not categorised at the moment: * ["4Suite"] (XML-1.0rc3 Released 2006-08-28) * [http://www.stackworks.net/view.php/cymbeline/index.html Cymbeline] (1.3.1 Released 2005-12-09) an application server framework, including functionality such as DB and arbitrary object pooling, Web servers, persistant object repository, and a text console * [http://gizmojo.org/ Gizmo(QP)] (0.7 Released 2007-04-17) extends QP (see below) adding functionality to help with building rich and exacting web interfaces. Includes a Form module that supports (redundant) automatically generated client-side field validation as well as additional json callbacks. * [https://www.mems-exchange.org/software/qp/ QP] (1.8 Released 2006-08-22) a package for defining and running multiple Web applications that are based on Durus for persistence, offering standard persistent Session and User classes, easy interactive database sessions, and unicode QPY for assembling html. * ["Spyce"] (2.1.3 Released 2006-11-17) * [http://webpy.org/ web.py] (0.2 Released 2006-11-27) Think about the ideal way to write a Web app. Write the code to make it happen. * [http://www.webwareforpython.org/ Webware] (0.9.4 Released 2007-07-07) is a suite of Python packages and tools for developing object-oriented, Web-based applications |
Line 31: | Line 63: |
* ["Albatross"] (1.33 Released 2005-12-16) Albatross is a small and flexible Python toolkit for developing highly stateful web applications. | * ["Albatross"] (1.35 Released 2006-06-20) a small and flexible Python toolkit for developing highly stateful Web applications. |
Line 34: | Line 66: |
* [http://divmod.org/trac/wiki/DivmodNevow Divmod Nevow] (0.7.0 Released 2005-12-02) A comprehensive library including a resource model encouraging the separation of application and presentation logic, a markup system with support for designer-friendly XHTML templates and pure-Python templates, and a robust AJAX-like API ([http://divmod.org/trac/wiki/DivmodNevow/Athena Divmod Athena]) which supports the creation of highly dynamic web pages in a structured manner. * ["JonsPythonModules"] (1.06 Released 2004-04-11) is a set of simple yet powerful multi-threaded object-oriented CGI/FastCGI/mod_python/html-templating modules for Python * ["JOTWeb2"] (1.10 Released 2005-12-30) developing dynamic web applications using HTML and TAL/TALES/METAL for templating |
* [http://divmod.org/trac/wiki/DivmodNevow Divmod Nevow] (0.9.0 Released 2006-06-12) a comprehensive library including a resource model encouraging the separation of application and presentation logic, a markup system with support for designer-friendly XHTML templates and pure-Python templates, and a robust AJAX-like API ([http://divmod.org/trac/wiki/DivmodNevow/Athena Divmod Athena]) which supports the creation of highly dynamic Web pages in a structured manner. * ["JOTWeb2"] (1.10 Released 2005-12-30) developing dynamic Web applications using HTML and TAL/TALES/METAL for templating |
Line 38: | Line 69: |
* [http://www.myghty.org/ Myghty ] (1.0 Released 2006-01-27) Web application framework originally ported from HTML::Mason * [http://nick.borko.org/pse/index.html Python Servlet Engine] (3.0.4 Released 2006-02-17) PSE parses your templates into byte compiled "servlets" to produce web pages that run fast |
* [http://www.ciobriefings.com/psp/ Python Server Pages], or PSP * [http://nick.borko.org/pse/index.html Python Servlet Engine] (3.0.4 Released 2006-02-17) PSE parses your templates into byte compiled "servlets" to produce Web pages that run fast |
Line 41: | Line 72: |
* [http://www.mems-exchange.org/software/quixote/ Quixote] (2.4 Released 2005-12-13) to develop dynamic web sites while using as much of their existing Python knowledge as possible * [http://snakelets.sourceforge.net/ Snakelets] (1.44 Released 2006-06-04) simple-to-use Python web application server * [http://trac.pytan.com/ Spark] Fast and lightweight web kit. Supports Mod_python, WSGI, Twisted. * ["WebStack"] - very lightweight, requiring layers of extra technology to match full-stack frameworks in feature comparisons |
* [http://www.mems-exchange.org/software/quixote/ Quixote] (2.4 Released 2005-12-13) Allows developers to develop dynamic Web sites while using as much of their existing Python knowledge as possible * [http://snakelets.sourceforge.net/ Snakelets] (1.44 Released 2006-06-04) simple-to-use Python Web application server * [http://trac.pytan.com/ Spark] (0.2.1 Released 2006-9-15) Fast and lightweight Web kit. Supports mod_python, WSGI, Twisted. * [http://robinparmar.com/wasp.html Wasp] (2.00 Released 2007.07) - supports command-line, CGI and embedded web server modes, with templating, session mechanism and other modules emphasizing ease of use and familiar paradigms. * ["WebStack"] (1.2.4 Released 2007-06-13) - very lightweight, requiring layers of extra technology (eg. [http://www.python.org/pypi/XSLTools XSLTools] and others) to match full-stack frameworks in feature comparisons |
Line 51: | Line 83: |
* [http://www.voidspace.org.uk/python/modules.shtml#dataenc Dataenc] - allows secure and time limited logins to be encoded into webpages for use with web applications | * [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 |
Line 53: | Line 85: |
== Popularity == Due to its established presence in Python Web programming, ["Zope"] and related solutions remain popular. Other full-stack frameworks which have enjoyed more recent popularity include ["TurboGears"] and ["Django"]. Measures of popularity include things like the number of subscribers & messages a project's e-mail lists or Internet groups may have, and such information can be readily discovered through services such as Google Groups. For example, as of 2007-09-07, ordered by recent activity: * [http://groups.google.com/group/django-users Django users]: 6317 members, 36280 messages, Activity: High - 106 recent authors * [http://groups.google.com/group/pylons-discuss Pylons]: 1008 members, 6365 messages, Activity: Medium - 102 recent authors * [http://groups.google.com/group/turbogears TurboGears]: 3119 members, 30801 messages, Activity: Medium - 91 recent authors * [http://groups.google.com/group/cherrypy-users CherryPy]: 1014 members, 4990 messages, Activity: Low - 67 recent authors Note that some projects' lists or groups may not be available through such services, and active contributions to a discussion group are not necessarily indicative of the level of production usage or development of a project. |
|
Line 62: | Line 105: |
* Steve Holden wrote a book on [http://pydish.holdenweb.com/pwp/ Python Web Programming]. The book from John Goerzen, [http://www.apress.com/book/bookDisplay.html?bID=363 Foundations of Python Network Programming], can also be useful. Finally, check out the Web Programming chapter in [http://starship.python.net/crew/wesc/cpp/ Core Python Programming] by Wesley Chun. | * Steve Holden wrote a book on [http://pydish.holdenweb.com/pwp/ Python Web Programming]. The book from John Goerzen, [http://www.apress.com/book/bookDisplay.html?bID=363 Foundations of Python Network Programming], can also be useful. O'Reilly's [http://www.oreilly.com/catalog/python3/ Programming Python 3rd Edition] has 500 pages on Internet programming, including 250 on Web scripting. Finally, check out the Web Programming chapter in [http://corepython.com Core Python Programming] by Wesley Chun -- there is also a small section elsewhere on Web APIs. |
Line 64: | Line 107: |
* The [http://benjiyork.com/quick_start Zope 3 Quick Start Guide] gives a short introduction to Zope 3. | |
Line 67: | Line 111: |
* [http://pyre.third-bit.com/pyweb/index.html PyWebOff: A bakeoff of Python web application frameworks], together with a [http://pyre.third-bit.com/pywebblog/ blog] giving thoughts on writing a single application in multiple different web frameworks. * The [http://colorstudy.com/docs/shootout.html Web Framework Shootout] also covers several of the frameworks listed in this document. * The [http://benjiyork.com/quick_start Zope 3 Quick Start Guide] gives a short introduction to Zope 3. |
* [http://jesusphreak.infogami.com/blog/vrp1 jp's domain: Python web development and frameworks in 2007] has a good overview of the different components seen in Web application programming along with a comparison of Django, Pylons and TurboGears, providing potentially controversial but candid opinions on the state of these projects. * [http://pyre.third-bit.com/pyweb/index.html PyWebOff: "a compare-and-contrast exercise to evaluate the strengths and weaknesses of some of the major Python web application frameworks"], together with a [http://pyre.third-bit.com/pywebblog/ blog] giving thoughts on writing a single application in multiple different Web frameworks. * [http://colorstudy.com/docs/shootout.html The Web Framework Shootout] also covers several of the frameworks listed in this document. |
Line 71: | Line 115: |
* [http://www.reahl.org/wfmwiki The Web Framework Map Wiki] attempts to define frameworks according to a number of different categories and classifications. |
Web Frameworks for Python
A Web framework is a collection of packages or modules which allow developers to write Web applications (see WebApplications) or services without having to handle such low-level details as protocols, sockets or process/thread management. As a developer using a framework, you typically write code which conforms to some kind of conventions, with the benefit being that most of the code can be concerned with the logic of the application, rather than working out how to process incoming network messages, spawn processes, work out which part of the application should be invoked, and so on.
Some frameworks can be considered moderately low-level in that they provide abstractions only for certain things (eg. incoming requests, outgoing responses, state handling), whereas other frameworks provide many more abstractions and mechanisms (eg. database access, presentation of Web pages). Since a non-trivial Web application will require a number of different kinds of abstractions, often stacked upon each other, those frameworks which attempt to provide a complete solution for applications are often known as "full-stack" frameworks in that they attempt to supply components for each layer in the stack.
Note
This page does not attempt to list every single Python Web framework that exists or has ever existed, nor does it provide measures of popularity or selection criteria, although the "Popularity" and "Comparisons and Tests" sections provide some additional information along with links to other useful resources.
Be warned that many of the frameworks listed are no longer actively maintained.
High Level Full-Stack Frameworks
These are the main high-level frameworks. Most of them consist of many of the components listed further down the page.
- ["Django"] (0.96 Released 2007-03-23) a high-level Python Web framework that encourages rapid development and clean, pragmatic design
[http://pylonshq.com/ Pylons] (0.9.6 Released 2007-08) a lightweight Web framework emphasizing flexibility and rapid development. It combines the very best ideas from the worlds of Ruby, Python and Perl, providing a structured but extremely flexible Python Web framework. It's also one of the first projects to leverage the emerging WSGI standard, which allows extensive re-use and flexibility but only if you need it. Out of the box, Pylons aims to make Web development fast, flexible and easy. Pylons is built on top of Paste (see below).
[http://www.turbogears.org/ TurboGears] (1.0 Released 2007-01-03) the rapid Web development megaframework you've been looking for. Combines ["CherryPy"], Kid, SQLObject and MochiKit. After reviewing the website check out: [http://lucasmanual.com/mywiki/TurboGears QuickStart Manual]
[http://www.zope.org/ Zope] (2.10.3 Released 2007-03-25, 3.3.1 Released 2007-01-14) a server for building ContentManagementSystems, intranets, portals, and custom applications.
Templating Engines
[http://www.myghty.org/ Myghty ] (1.0 Released 2006-01-27) Web application framework originally ported from HTML::Mason
[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.
HTTP frameworks
The packages provide the base 'application server', either running as its own independent process or upon Apache. You can then bring your own applications or other components to run on top of it.
["CherryPy"] (3.0.2 Released 2007-08-07) is a pythonic, object-oriented HTTP framework. CherryPy powered web applications are in fact stand-alone Python applications embedding their own multi-threaded web server.["TurboGears"] (see above) also uses CherryPy.
[http://pythonpaste.org/ Python Paste] (1.4 Released 2007-06-26) brings consistency to Python Web development and Web application installation, providing tools for both developers and system administrators. Also, Pylons (see above) is built on top of Paste.
[http://www.movatis.com/crusader Crusader] is a powerful application server for Python based upon a scaleable, extensible and easy-to-use general purpose server framework.
- ["Karrigell"] (2.3.3 Released 2007-01-15) is a flexible Python web framework, with a clear and intuitive syntax. It is independent from any database, ORM or templating engine, and lets the programmer choose between a variety of coding styles.
SkunkWeb (3.4.0 Released 2004-09-10)
Content Management Systems
Some CMS' allow you to build application like functionality upon them. See ContentManagementSystems for more details.
Other Frameworks
These components are not categorised at the moment:
- ["4Suite"] (XML-1.0rc3 Released 2006-08-28)
[http://www.stackworks.net/view.php/cymbeline/index.html Cymbeline] (1.3.1 Released 2005-12-09) an application server framework, including functionality such as DB and arbitrary object pooling, Web servers, persistant object repository, and a text console
[http://gizmojo.org/ Gizmo(QP)] (0.7 Released 2007-04-17) extends QP (see below) adding functionality to help with building rich and exacting web interfaces. Includes a Form module that supports (redundant) automatically generated client-side field validation as well as additional json callbacks.
[https://www.mems-exchange.org/software/qp/ QP] (1.8 Released 2006-08-22) a package for defining and running multiple Web applications that are based on Durus for persistence, offering standard persistent Session and User classes, easy interactive database sessions, and unicode QPY for assembling html.
- ["Spyce"] (2.1.3 Released 2006-11-17)
[http://webpy.org/ web.py] (0.2 Released 2006-11-27) Think about the ideal way to write a Web app. Write the code to make it happen.
[http://www.webwareforpython.org/ Webware] (0.9.4 Released 2007-07-07) is a suite of Python packages and tools for developing object-oriented, Web-based applications
Lightweight Frameworks
Some of these frameworks provide templating but not database access or persistence mechanisms. Others provide only elementary abstractions for things like requests, responses and sessions:
- ["Albatross"] (1.35 Released 2006-06-20) a small and flexible Python toolkit for developing highly stateful Web applications.
- ["Aquarium"] (2.2.1 Released 2005-04-21) offers convenient libraries, tight integration with Cheetah, adaptors for various Web environments
BaseHttpServer (along with successors such as DocXmlRpcServer) can be considered as the original Python Web framework
[http://divmod.org/trac/wiki/DivmodNevow Divmod Nevow] (0.9.0 Released 2006-06-12) a comprehensive library including a resource model encouraging the separation of application and presentation logic, a markup system with support for designer-friendly XHTML templates and pure-Python templates, and a robust AJAX-like API ([http://divmod.org/trac/wiki/DivmodNevow/Athena Divmod Athena]) which supports the creation of highly dynamic Web pages in a structured manner.
- ["JOTWeb2"] (1.10 Released 2005-12-30) developing dynamic Web applications using HTML and TAL/TALES/METAL for templating
- ["maki"]
[http://www.ciobriefings.com/psp/ Python Server Pages], or PSP
[http://nick.borko.org/pse/index.html Python Servlet Engine] (3.0.4 Released 2006-02-17) PSE parses your templates into byte compiled "servlets" to produce Web pages that run fast
[http://www.stroeder.com/pylib/PyWebLib/ PyWebLib] (1.3.4) - provides support for forms and sessions; used to implement web2ldap
[http://www.mems-exchange.org/software/quixote/ Quixote] (2.4 Released 2005-12-13) Allows developers to develop dynamic Web sites while using as much of their existing Python knowledge as possible
[http://snakelets.sourceforge.net/ Snakelets] (1.44 Released 2006-06-04) simple-to-use Python Web application server
[http://trac.pytan.com/ Spark] (0.2.1 Released 2006-9-15) Fast and lightweight Web kit. Supports mod_python, WSGI, Twisted.
[http://robinparmar.com/wasp.html Wasp] (2.00 Released 2007.07) - supports command-line, CGI and embedded web server modes, with templating, session mechanism and other modules emphasizing ease of use and familiar paradigms.
["WebStack"] (1.2.4 Released 2007-06-13) - very lightweight, requiring layers of extra technology (eg. [http://www.python.org/pypi/XSLTools XSLTools] and others) to match full-stack frameworks in feature comparisons
Utility Modules and Components
There are some components developed outside the above frameworks which may be combined with some of these frameworks or employed directly in applications:
[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]
Popularity
Due to its established presence in Python Web programming, ["Zope"] and related solutions remain popular. Other full-stack frameworks which have enjoyed more recent popularity include ["TurboGears"] and ["Django"]. Measures of popularity include things like the number of subscribers & messages a project's e-mail lists or Internet groups may have, and such information can be readily discovered through services such as Google Groups. For example, as of 2007-09-07, ordered by recent activity:
[http://groups.google.com/group/django-users Django users]: 6317 members, 36280 messages, Activity: High - 106 recent authors
[http://groups.google.com/group/pylons-discuss Pylons]: 1008 members, 6365 messages, Activity: Medium - 102 recent authors
[http://groups.google.com/group/turbogears TurboGears]: 3119 members, 30801 messages, Activity: Medium - 91 recent authors
[http://groups.google.com/group/cherrypy-users CherryPy]: 1014 members, 4990 messages, Activity: Low - 67 recent authors
Note that some projects' lists or groups may not be available through such services, and active contributions to a discussion group are not necessarily indicative of the level of production usage or development of a project.
Frameworks in Books
These frameworks are not apparently available for download, but are covered in various books:
- ["Slither"]
Books and Articles
Steve Holden wrote a book on [http://pydish.holdenweb.com/pwp/ Python Web Programming]. The book from John Goerzen, [http://www.apress.com/book/bookDisplay.html?bID=363 Foundations of Python Network Programming], can also be useful. O'Reilly's [http://www.oreilly.com/catalog/python3/ Programming Python 3rd Edition] has 500 pages on Internet programming, including 250 on Web scripting. Finally, check out the Web Programming chapter in [http://corepython.com Core Python Programming] by Wesley Chun -- there is also a small section elsewhere on Web APIs.
[http://www.tossed.org/modules.php?name=News&file=article&sid=12 Developing With Mod_Python] - an article on Mod_Python programming with Cheetah Templates and MySQL. Contains code samples.
The [http://benjiyork.com/quick_start Zope 3 Quick Start Guide] gives a short introduction to Zope 3.
Comparisons and Tests
[http://jesusphreak.infogami.com/blog/vrp1 jp's domain: Python web development and frameworks in 2007] has a good overview of the different components seen in Web application programming along with a comparison of Django, Pylons and TurboGears, providing potentially controversial but candid opinions on the state of these projects.
[http://pyre.third-bit.com/pyweb/index.html PyWebOff: "a compare-and-contrast exercise to evaluate the strengths and weaknesses of some of the major Python web application frameworks"], together with a [http://pyre.third-bit.com/pywebblog/ blog] giving thoughts on writing a single application in multiple different Web frameworks.
[http://colorstudy.com/docs/shootout.html The Web Framework Shootout] also covers several of the frameworks listed in this document.
TimRoberts wrote some personal "real-world experiences" on the WebSolutionComparison page.
[http://www.reahl.org/wfmwiki The Web Framework Map Wiki] attempts to define frameworks according to a number of different categories and classifications.
Editorial Notes
The above lists should be arranged in ascending alphabetical order - please respect this when adding new frameworks. The distinction made between "full-stack" and "lightweight" frameworks is difficult to make - please feel free to relocate frameworks to other lists, but please only do so if you actually know as a user or developer of that framework that the framework is miscategorised. When specifying release dates please use the format YYYY-MM-DD.
Notes on Editing Framework Pages
Opinions based on experience are welcome, but framework or templating system authors should sign their comments with InTheirOwnWords to admit to a certain bias.
The rather strict format of the main entries (described in WebProgrammingTemplateHelp) should not been seen as a limit. Feel free to add new pages containing examples, direct comparisons etc.
When adding new entries choose WebProgrammingTemplate when creating the page.