1. Introduction, Web Applications.

The author has been developing web applications for years. In this journey several tools and well known languages where used before meeting Python. I am not going to explain all the great things Python does and gives, but in these advantages, this new (yet another) web framework is based. The general idea is to easily permit the separation of the view code from the application or controller code.

It does so by defining some basic rules for HTTP request processing. When using PyWork you configure mappings between the uris and python objects (which will extend the Action class). When a request enters PyWork, an action method is called that executes the application code and returns a view identifier to be displayed. This very simple idea brings a lot of power to your app by making it more reusable, less buggy and with very little code.

Also by letting your python objects be called by the web server, it lets you use all the python libraries and packages available (DB, Image Processing, Report generation, XML technologies and so on). Your action classes also will be unit-testable as they don't need to live in a running server to be executed. This is great because it will permit you to code your tests and integrate them in your web application development process. They also are standard python code that you can distribute as a standard python package.

More advantages, being your classes standard objects it will let you use the standard debugging api (PDB) to easily debug your application code. With all these and the main ingredient Python, web applications lead to easy maintainance, higher portability and faster development.

In the next sections we will explain: Installation and Configuration; A proper explanation of an HTTP request lifecycle is explained, it then introduces a *very* simple application, followed by more formal explanations of Action and Views. The other chapters explain PyWork's api stack.

See About this document... for information on suggesting changes.