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.18 (released 04/08/2011)

  • Fixed a regression in ll.orasql.OracleConnection.
  • Fixed ZeroDivisionError in script uls for empty directories.
  • Added a class method ll.orasql.Contraint.iternames and a class method ll.orasql.Index.iternames that skips those indexes that are generated by constraints. With this addition uls/ucp now list/copy constraints and indexes properly. All iternames methods now skip objects whose name starts with BIN$.
  • The scripts uls, ucp and ucat have new options --include and --exclude for including/excluding URLs that match a regular expression. They also have an new option --all to include/exclude dot files (i.e. files/directories whose name starts with a dot)
  • ucp now supports to new options --padding and --separator which are used for column output.
  • Two unused options were removed: --verbose from the script ucat and --defaults from the script tld2xsc.
  • ucp -x now prints exception details.
  • The variables available in UL4 templates used by db2ul4 have changed. Instead of a connect object, there are now three objects for each supported database (i.e. oracle, sqlite and mysql)
  • The script doc2txt now reads from stdin and writes to stdout instead of requiring file names on the command line.
  • If the scripts xml2xsc or dtd2xsc are called without arguments stdin is read.
  • now handles option lists.
  • The Oracle URLs provided by ll.orasql now have a .sql extension for all schema objects. On writing a .sql extension will be stripped to get the name of the schema object.
  • Oracle URLs now should support schema objects with fancy names (i.e. ones that contain accented characters).
  • ll.orasql.Table has a new method organization that returns "heap" or normal tables and "index" for index organized tables.
  • Pretty printing of XIST trees can now be customized with the class attributes prettyindentbefore and prettyindentafter. The values will be added to the current indentation level before and after the node in question.
  • All scripts that are part of XIST (uls, ucp, ucat, db2ul4, dtd2xsc, tld2xsc, doc2txt, xml2xsc, oracreate, oradrop, oradelete, oradiff, oramerge, oragrant and orafind) are now properly documented on the webpages.

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.18-py2.7-macosx-10.6-x86_64.egg (897.2 kB) Copy SHA256 hash SHA256 Egg 2.7
ll-xist-3.18.tar.bz2 (385.2 kB) Copy SHA256 hash SHA256 Source None
ll-xist-3.18.tar.gz (452.5 kB) Copy SHA256 hash SHA256 Source None (535.2 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