Albatross is a small toolkit for developing highly stateful web applications.
The toolkit has been designed to take a lot of the pain out of constructing intranet applications although there is no real reason why you should not use Albatross for deploying publicly accessed web applications.
In slightly more than 2600 lines of Python you get the following:
- An extensible HTML templating system similar to DTML including tags for: - Tree browsing. - Macro definition and expansion. - Automatic sequence pagination. - Lookup tables to translate internal program value to arbitrary template text. - Application classes which offer the following features: - Optional server side or browser side sessions. - The ability to place Python code for each page in a dynamically loaded module, or to place all page processing code in a single mainline. - The ability to deploy applications either as CGI or via mod_python by changing less than 10 lines of code.
The toolkit application functionality is defined by a collection of fine grained mixin classes. Six different application types and four different execution contexts are prepackaged, you are able to define your own drop in replacements for any of the mixins to alter any aspect of the toolkit semantics.
Application deployment is controlled by your choice of Request class. It should be possible to develop a Request class for FastCGI or Medusa to allow applications to be deployed on those platforms with minimal changes.
Albatross comes with around 120 pages of documentation. HTML, PDF and PostScript formatted documentation is available from the toolkit homepage.
The toolkit homepage:
Important changes since last release:
* Huge number of documentation fixes. * Documentation for macro tags has been completed. * New calendar example extension tag. * Fixed infinite recursion bug in nested macro expansion. * All interactive examples in documentation are now validated via 'make test' in the doc directory. * Lots of new unit tests.