Skip to main content

Extensible HTML/XML generator, cross-platform templating language, Oracle utilities and various other tools

Project description

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.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.url provides classes for parsing and constructing RFC 2396 compliant URLs.
  • ll.orasql provides utilities for working with cx_Oracle:
    • 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.url.
  • ll.ul4c is compiler for a templating language with similar capabilities to Django’s templating language. UL4 templates are compiled to an internal bytecode 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.astyle can be used for colored terminal output (via ANSI escape sequences).
  • 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.misc provides several small utility functions and classes.
  • ll.sisyphus provides classes for running Python scripts as cron jobs.
  • ll.daemon can be used on UNIX to fork a daemon process.
  • ll.xml_codec contains a complete codec for encoding and decoding XML.
  • ll.nightshade can be used to serve the output of PL/SQL functions/procedures with CherryPy.

Changes in 3.7 (released 09/10/2009)

  • In UL4 templates it’s now possible to define locale templates via <?def tmpl?>templatecode<?end def?>.
  • Python 2.6 is required now.
  • ll.orasql and ll.nightshade are now part of the distribution.
  • ll.make has a new Action class: ObjectAction simply returns an existing object.
  • The following classes have been removed from ll.make: EncodeAction, DecodeAction, EvalAction, GZipAction, GUnzipAction, JavascriptMinifyAction, XISTBytesAction, XISTStringAction, JoinAction, UnpickleAction, PickleAction, TOXICAction, TOXICPrettifyAction, SplatAction, UL4CompileAction, UL4RenderAction, UL4DumpAction, UL4LoadAction, XISTTextAction and XISTConvertAction. All of these actions can be executed by using CallAction or CallAttrAction.
  • ll.make.PipeAction has been renamed to TransformAction.
  • The new ll.make.PipeAction pipes the input through an external command.
  • ll.make.FileAction now automatically wraps the key argument into an URL object.
  • ll.make.FileAction has two new methods chmod and chown that return a ModeAction and OwnerAction for modifying the file created by the FileAction.
  • ll.make.Action has three new methods: call, getattr and callattr create a CallAction, GetAttrAction or CallAttrAction object respectively.
  • The division operator is no longer implemented for Action objects in ll.make.
  • Two new UL4 functions have been added: float and iscolor.
  • Two new scripts have been added: uls can be used to list any directory given as an URL. ucat can be used to output any file or directory.
  • The script ucp now changes the user and group only if a user or group is given.
  • A bug in the 64-bit support for sgmlop has been fixed.
  • Fixed a bug in the remote stat method for ssh URLs (it seems that the posix.stat_result tuple objects can no longer be pickled).
  • There’s a new function misc.itersplitat for splitting a string at specified positions.
  • For ssh URLs a keyword argument ssh_config is supported now instead of identity (This mirrors the corresponding change in the py library)

Project details

Release history Release notifications

This version
History Node


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
ll_xist-3.7-py2.6-macosx-10.6-universal.egg (856.4 kB) Copy SHA256 hash SHA256 Egg 2.6
ll-xist-3.7.tar.bz2 (355.4 kB) Copy SHA256 hash SHA256 Source None
ll-xist-3.7.tar.gz (420.5 kB) Copy SHA256 hash SHA256 Source None (493.9 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page