cgi_buffer is a group of libraries that may be used to improve performance of CGI scripts (and other content generation engines) in some circumstances by applying performance-enhancing HTTP mechanisms that are typically not supported by them. Currently, Perl, Python, and PHP4 are supported. The Python library may also be used as a wrapper around another CGI script.
GCache is a Python module that provides a generic cache class useful for speeding up any application where objects are referenced by keys. It uses object metadata to optimize hit-rates and freshness for fetches, and uses a "write-through" mechanism for writes and deletes. It can use "if-modified-since" fetches or rsync delta updates to refresh stale cached objects. GSource classes are provided for generating useful metadata from common sources (os.stat calls and MIME headers). A simple example urlCache is implemented that supports HTTP 1.1 (rfc2616) cache-control and expire headers to ensure freshness. Also included is an rfc2616 package useful for parsing HTTP 1.1 headers, and a PCache package implementing a persistant cache using a Python shelve.
py-xmlrpc is an extremely fast implementation of the xmlrpc spec for Python (written in C). It supports both blocking and non-blocking clients and servers on Windows and POSIX platforms. Version 0.8.1 is 100% compliant with the xmlrpc validator found at http://validator.xmlrpc.com.
PyStem is a fast Python module with the the Porter stemming algorithm (a process for removing the commoner morphological and inflexional endings from words in English; its main use is as part of a term normalisation process that is usually done when setting up Information Retrieval systems).
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.
EmPy is a system for embedding Python expressions and statements in template text. It takes an EmPy source file, processes it, and produces output. This is accomplished via expansions, which are special signals to the EmPy system and are set off by a special prefix (by default the at sign, '@'). It can expand arbitrary Python expressions and statements in this way, as well as a variety of special forms. Textual data not explicitly delimited in this way is sent unaffected to the output, allowing Python to be used in effect as a markup language. Also supported are callbacks via hooks, recording and playback via diversions, and dynamic, chainable filters. The system is highly configurable via command line options and embedded commands.
Python Service Objects is a package that simplifies development of HTTP handlers. With its built-in session handling and its bridging system, it allows you to write one handler that will run with mod_python, NASAPY, CGI, etc. It offers an easy interface to HTTP info. It includes a simple, fast, robust, powerful, and extensible OO template parser.
Hep Message Server is software that transfers messages between different messaging systems. Eventually, it should transparently route messages between email, weblogs, and instant messaging. Currently Hep does one thing: fetches news feeds from Web sites and lets you view them in your email client.