Albatross is a small and flexible toolkit for developing highly stateful Web applications. It provides browser-based sessions via automatically-generated hidden form fields, server side sessions via a session server or file-based session store, a powerful and extensible templating system which promotes separation of presentation and implementation for improved program maintainability, implicit handling for pagination of sequences and tree browsing, template macros to allow repeated HTML and special effects HTML to be defined in one location, and lookup tables to translate Python values to arbitrary template code. Applications can be deployed as either CGI programs or as mod_python module with minor changes to program mainline. Custom deployment can be achieved by developing your own Request class.
| Tags | Internet Web Dynamic Content Software Development Libraries Python Modules |
|---|---|
| Licenses | BSD Original Python |
| Operating Systems | Unix |
| Implementation | Python |
Recent releases


Release Notes: Improvements and fixes were made to <al-for>, <al-macro>, <al-option>, NameRecorderMixin, and the FastCGI driver.


Release Notes: Important fixes to the NamespaceMixin's set_value() method.


Release Notes: Page modules are no longer reloaded if a session reload has already loaded the page module, fixing a problem introduced by the Python 2.2 pickler. Names prefixed with underscores in the execution context are now protected from browser modification.


Release Notes: Lots of minor changes assist development in this release. The largest addition is a new "ellipsis" mode for the tree iterator, a variant of lazy trees with nodes at shallower levels progressively collapsed into ellipses as the user opens deeper nodes. The user can reopen the collapsed nodes by selecting an ellipsis.


Release Notes: An enhanced template parser was written to handle attribute values enclosed with either single or double quotes. All pickles sent to the browser are now signed with MD5. New pickle security techniques can be defined. The RandomPageModuleMixin class allows applications to use the request URL to determine which page module will be used to process the browser request. Samples have been reorganised and documentation updated to reduce confusion. An installation program reduces the pain of running the samples. Many documentation improvements were made.