Skip to main content

Extensible HTML/XML generator, cross-platform templating language, ORM, 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.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).

    There are implementations for Python, Java and Javascript.

  • 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 support).

    There are implementations for Python, Java and Javascript.

  • ll.orasql provides utilities for working with oracledb:

    • 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.vsql provides a way to build Oracle SQL queries safely and dynamically using UL4 expressions. Instead of manually concatenating strings, you can express query logic with vSQL (a variant of UL4), which is then compiled into proper SQL. This approach eliminates the risky parts of query construction, effectively preventing SQL injection attacks, while offering the expressive power of an ORM without the overhead.

  • 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 compliant URLs.

  • ll.nightshade can be used to serve the output of PL/SQL functions/procedures with CherryPy.

  • ll.misc provides several small utility functions and classes.

  • ll.astyle can be used for colored terminal output (via ANSI escape sequences).

  • ll.daemon can be used on UNIX to fork a daemon process.

  • ll.xml_codec contains a complete codec for encoding and decoding XML.

Changes in 5.85 (released 2026-05-20)

  • Added ll.sisyphus.Job.smtpstarttls (and the corresponding command line option --smtpstarttls) for upgrading the SMTP connection to TLS via STARTTLS before logging in. This is required by SMTP servers that only advertise the AUTH extension after the connection has been upgraded to TLS (e.g. on the submission port 587).

Project details


Release history Release notifications | RSS feed

This version

5.85

Download files

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

Source Distribution

ll_xist-5.85.tar.gz (1.8 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

ll_xist-5.85-cp314-cp314-win_amd64.whl (620.3 kB view details)

Uploaded CPython 3.14Windows x86-64

ll_xist-5.85-cp314-cp314-win32.whl (617.7 kB view details)

Uploaded CPython 3.14Windows x86

ll_xist-5.85-cp314-cp314-macosx_26_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.14macOS 26.0+ ARM64

ll_xist-5.85-cp313-cp313-win_amd64.whl (617.5 kB view details)

Uploaded CPython 3.13Windows x86-64

ll_xist-5.85-cp313-cp313-win32.whl (615.0 kB view details)

Uploaded CPython 3.13Windows x86

File details

Details for the file ll_xist-5.85.tar.gz.

File metadata

  • Download URL: ll_xist-5.85.tar.gz
  • Upload date:
  • Size: 1.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for ll_xist-5.85.tar.gz
Algorithm Hash digest
SHA256 34f53c976a949d2bc161f230a6aaa5735c266b290435f5a855b00235dc91f4d6
MD5 d04949f0b780664b23c54b1b643577cf
BLAKE2b-256 4e46cd83f40522f8927100569b7ccf225277f602b4b1459478f8df8889010a68

See more details on using hashes here.

File details

Details for the file ll_xist-5.85-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: ll_xist-5.85-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 620.3 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for ll_xist-5.85-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 4d3106c83f00e0a43a0d5cf22505a6f54c0de20ea72cd5e9e2555eeff3057aa4
MD5 c329dbe4f2eee64774f43a40c247d3ee
BLAKE2b-256 96e2512bb5991e33664117c33d014f35a428bba85d6f04ac528fc7407c35bc08

See more details on using hashes here.

File details

Details for the file ll_xist-5.85-cp314-cp314-win32.whl.

File metadata

  • Download URL: ll_xist-5.85-cp314-cp314-win32.whl
  • Upload date:
  • Size: 617.7 kB
  • Tags: CPython 3.14, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for ll_xist-5.85-cp314-cp314-win32.whl
Algorithm Hash digest
SHA256 83641ff0ed273011afe187165e039489f14e355501fb7fa5a037e95006a714b7
MD5 fcffbfff5dafff9c2c3b0430c4a132ba
BLAKE2b-256 63902ceeafbe3b025b6162642fc07a3627039a0f69221a41f6834afacc473947

See more details on using hashes here.

File details

Details for the file ll_xist-5.85-cp314-cp314-macosx_26_0_arm64.whl.

File metadata

File hashes

Hashes for ll_xist-5.85-cp314-cp314-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 41db207c74a1d8018c3061596709f3dcd433c1501de41cafc22fa43cd28513b5
MD5 07f1816b2bdfbfbbf356f316662433f2
BLAKE2b-256 9d3ddee57a522965924266d6c14e77889989a74329ebde21bca1f7a5749e6f30

See more details on using hashes here.

File details

Details for the file ll_xist-5.85-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: ll_xist-5.85-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 617.5 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for ll_xist-5.85-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 c3f725a3e7928629fb393f296ecbbc4e5338496703b067fa8f3ad79109ceba04
MD5 ee280fa0069f36ad8edd4e65512a5451
BLAKE2b-256 bc857f7591b20c2e1ecb9dad839e0c38bb4b26063e7a44c97ab3eb158c34a984

See more details on using hashes here.

File details

Details for the file ll_xist-5.85-cp313-cp313-win32.whl.

File metadata

  • Download URL: ll_xist-5.85-cp313-cp313-win32.whl
  • Upload date:
  • Size: 615.0 kB
  • Tags: CPython 3.13, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for ll_xist-5.85-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 814a9465f5940fdd57fe5cb5df001618f619f988f0803f75ae3f0ca936f03fca
MD5 40479cebc3d44019b6c97975cab5a53e
BLAKE2b-256 a42cd64c569d6801a75ff442a55fad0fee447f9af7171e79d99e9acf4d726f8d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page