XIST provides an extensible HTML and XML generator. XIST is also a XML parser
with a very simple and pythonesque tree API. Every XML element type corresponds
to a Python class and these Python classes provide a conversion method to
transform the XML tree (e.g. into HTML). XIST can be considered
“object oriented XSLT”.
XIST also includes the following modules and packages:
ll.ul4c is compiler for a cross-platform templating language with
similar capabilities to Django’s templating language. UL4 templates
are compiled to an internal format, which makes it possible to implement
template renderers in other languages and makes the template code “secure”
(i.e. template code can’t open or delete files).
ll.ul4on provides functions for encoding and decoding a lightweight
machine-readable text-based format for serializing the object types supported
by UL4. It is extensible to allow encoding/decoding arbitrary instances
(i.e. it is basically a reimplementation of pickle, but with string
input/output instead of bytes and with an eye towards cross-plattform
It allows calling functions and procedures with keyword arguments.
Query results will be put into Record objects,
where database fields are accessible as object attributes.
The Connection class provides methods for iterating
through the database metadata.
Importing the modules adds support for URLs with the scheme oracle to
ll.make is an object oriented make replacement. Like make it allows
you to specify dependencies between files and actions to be executed
when files don’t exist or are out of date with respect to one
of their sources. But unlike make you can do this in a object oriented
way and targets are not only limited to files.
ll.color provides classes and functions for handling RGB color values.
This includes the ability to convert between different color models
(RGB, HSV, HLS) as well as to and from CSS format, and several functions
for modifying and mixing colors.
ll.sisyphus provides classes for running Python scripts as cron jobs.
ll.url provides classes for parsing and constructing RFC 2396