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.
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.
This package consists of FlexModule.h, BisonModule.h, and assorted documentation, examples, and support files. A Python module can be created by including FlexModule.h into a Flex scanner specification and using a couple of C macros. BisonModule.h provides a set of C macros and functions that make it easy to create a parse tree of Python objects with Bison.