Although Python is not as prevalent as, say, PHP as a language for Web applications, Python nevertheless has much to recommend it in that effort. It is a dynamic, interpreted language, as is PHP, and therefore encourages iterative, exploratory development. Programming purists could point to the fact that object orientation was designed into Python from its very beginnings, rather than being retrofitted to the language at a later point in its life.

Language design considerations aside, the capabilities embodied in Python's standard libraries are impressive. Python even installs with its own Web server. In addition, Python boasts plenty of free database libraries, numerous free Web page template systems, and even libraries for interfacing with your favorite Web server, all ready to download and apply to your next Web application project.

[ Also on InfoWorld: "InfoWorld review: Nine fine Python development tools" | Neil McAllister reveals the most dangerous programming mistakes. | Get software development news and insights from InfoWorld's Developer World newsletter. ]

Of course, you don't need to do all that work. The engineers of these capable and diverse Python-based Web frameworks have done it all for you.

In the following pages, we review six Web application frameworks for the Python Web developer. These are by no means the only Python Web frameworks available, but represent a broad sampling of the possibilities. No matter what your needs or leanings as a Python developer might be, one of these frameworks promises to be a good fit.

They include Zope 2, the proud descendant of one of the longest-established Web server frameworks in any language; Web.py, a low-abstraction framework that provides only the essentials for Web development; Web2py, a higher-level framework that provides its own Web-based integrated development environment; Pyramid, a flexible new offering from the group that produced the popular Pylons framework; the popular and highly regarded Django framework; and CubicWeb, with which you can build not just Web applications but semantic Web applications.