Web.py, the brainchild of Aaron Swartz, who developed it while working at Reddit.com, describes itself as a "minimalist's framework." Web.py employs few abstraction layers. In most cases, when you build a Web application in Web.py, you operate one level away from the actual infrastructure of databases, HTTP requests, and HTML input forms. You won't find wizards or boilerplate websites in Web.py. New websites must be built from scratch.
In addition, Web.py provides no administration utility. That means, among other things, you must rely on the back-end administration tools to create the database and tables that your application will use.
Installation is simply a matter of unzipping an archive file, followed by executing a setup script. The framework has no dependencies on external packages or libraries that must be separately downloaded. Web.py includes its own Web server, but documentation warns that it is only suitable for development work. Nevertheless, the provided server has useful debug features that are automatically enabled. For example, code changes are automatically reloaded. In addition, when an error is thrown, the Web server will produce a Web page with full error tracing information. Web.py applications can be deployed to any Web server that supports WSGI. The Web.py website suggests LightTPD or Apache.
This story, "Pillars of Python: Web.py Web framework" was originally published by InfoWorld.