Skip to main content

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.89 (released 2026-08-17)

  • ll.vsql now supports PostgreSQL in addition to Oracle. Which of the two SQL dialects gets generated is determined by the class used for building the query: ll.vsql.OracleQuery or ll.vsql.PostgresQuery. ll.vsql.Query itself is abstract now and can no longer be instantiated directly, so:

    q = vsql.Query()

    has to be changed to:

    q = vsql.OracleQuery()

    If you only have a ll.vsql.DBType at hand, ll.vsql.Query.fordbtype will return the appropriate class.

  • Added the attribute ll.vsql.Field.description which isn’t used anywhere but can be used by external tools for documentation.

  • The vSQL type NULLSET is now part of the ANY type group (as NULLLIST has always been), so it can now be combined with all other types in ==, !=, is, is not, not, bool(), A if cond else B etc.

  • Fixed the vSQL grammar rules for STR.split(None) and CLOB.split(None): the generated SQL passed null instead of the string object to the split function, so the result was always empty.

  • Fixed a typo in ll.vsql (DataType.NULSET) that broke the check whether a NULLSET value can be used where a specific set type is required.

  • Changed the color factory method ll.color.Color.fromrgb (through which ll.color.Color.fromhsv, ll.color.Color.fromhls and the UL4 function rgb() work too) and the blending operator ll.color.Color.__mod__ to round float values to their final integer value instead of truncating them since this matches what browsers do for the CSS color blending algorithm.

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.89.tar.gz (847.3 kB 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.89-cp314-cp314-win_amd64.whl (630.5 kB view details)

Uploaded CPython 3.14Windows x86-64

ll_xist-5.89-cp314-cp314-win32.whl (627.9 kB view details)

Uploaded CPython 3.14Windows x86

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

Uploaded CPython 3.14macOS 26.0+ ARM64

File details

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

File metadata

  • Download URL: ll_xist-5.89.tar.gz
  • Upload date:
  • Size: 847.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for ll_xist-5.89.tar.gz
Algorithm Hash digest
SHA256 e1e3fd5ce4611acbefc8cabf426563e4627b293392c21e10605babf31d5354e5
MD5 491534626a11a80e3bfda6a7c64df78f
BLAKE2b-256 cf9033a12dab82d7d0df5075eda2df4580a6340d6b7726218a4a84b634a22c5c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ll_xist-5.89-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 630.5 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.89-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 45e9352d4238b1d1b7aa2489e5d23c5e39f325d792b68728acbac17abe77c3f3
MD5 8de28c06933eba8875e534f3c57a7817
BLAKE2b-256 1c9048142d2bd29cd68243a663cf203faf002b02c430d9d77d83b94cd76ebe13

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ll_xist-5.89-cp314-cp314-win32.whl
  • Upload date:
  • Size: 627.9 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.89-cp314-cp314-win32.whl
Algorithm Hash digest
SHA256 2cbe1028fbb4792f5966f47872dd9aa720e0d7b9da3e30faba281037651a2cc0
MD5 c358157d2a59b85c45adfdb071bca727
BLAKE2b-256 5a7968a487db070908195960d69e1ae0d497d8b1ce4fdba2a73b29c578a1f591

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ll_xist-5.89-cp314-cp314-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 a7045306a88b23e66aa1970488df301384b92909a4e68c1b124c864ae99c84cb
MD5 91605bc6fc94aaa87693778828e3fca2
BLAKE2b-256 048bdb993aa60d834b46f8b10eeb700fe0c594d9cff05d26dab0e55e70f27872

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

5.89 This release

4 files

5.88

2 files

5.87

4 files

5.86

4 files

5.85

6 files

5.84

6 files

5.83

2 files

5.82.2

6 files

5.82.1

2 files

5.82

7 files

5.81

2 files

5.80.1

12 files

5.80

2 files

5.79

2 files

5.78

2 files

5.77

2 files

5.76

2 files

5.75.1

12 files

5.75

12 files

5.74

8 files

5.73.2

8 files

5.73.1

2 files

5.73

2 files

5.72

2 files

5.71

2 files

5.70

8 files

5.69

8 files

5.68.1

12 files

5.68

10 files

5.67.2

10 files

5.67.1

10 files

5.67

10 files

5.66.1

2 files

5.66

10 files

5.65

10 files

5.64

6 files

5.63.1

2 files

5.63

2 files

5.61.2

6 files

5.61.1

2 files

5.61

2 files

5.60

6 files

5.59

6 files

5.58

6 files

5.57

6 files

5.56

6 files

5.55

6 files

5.54.1

6 files

5.54

6 files

5.53

6 files

5.52.1

2 files

5.52

6 files

5.51

6 files

5.50

6 files

5.49

6 files

5.48

6 files

5.47

6 files

5.46

6 files

5.45

6 files

5.44

6 files

5.43

6 files

5.42.1

6 files

5.42

6 files

5.41

6 files

5.40.2

6 files

5.40.1

6 files

5.40

6 files

5.39

6 files

5.38

6 files

5.37.1

6 files

5.37

6 files

5.36

6 files

5.35

6 files

5.34

6 files

5.33

4 files

5.32

4 files

5.31

4 files

5.30

4 files

5.29

4 files

5.28.2

4 files

5.28.1

4 files

5.28

2 files

5.27

6 files

5.26.1

6 files

5.26

6 files

5.25.1

6 files

5.25

6 files

5.24

6 files

5.23

8 files

5.22.1

8 files

5.22

8 files

5.21

8 files

5.20.1

8 files

5.20

8 files

5.19.4

8 files

5.19.3

8 files

5.19.2

8 files

5.19.1

8 files

5.19

8 files

5.18

8 files

5.17.1

14 files

5.17

13 files

5.16

14 files

5.15.1

14 files

5.15

14 files

5.14.2

14 files

5.14.1

14 files

5.14

14 files

5.13.1

9 files

5.13

9 files

5.12.1

7 files

5.12

7 files

5.11

7 files

5.10

7 files

5.9.1

7 files

5.9

7 files

5.8.1

7 files

5.8

7 files

5.7.1

3 files

5.7

3 files

5.6

3 files

5.5.1

3 files

5.5

3 files

5.4.1

3 files

5.4

3 files

5.3

4 files

5.2.7

4 files

5.2.6

4 files

5.2.5

4 files

5.2.4

4 files

5.2.3

4 files

5.2.2

4 files

5.2.1

4 files

5.2

4 files

5.1

4 files

5.0

4 files

4.10

4 files

4.9.1

5 files

4.9

5 files

4.8

5 files

4.7

5 files

4.6

5 files

4.5

5 files

4.4

4 files

4.3.1

4 files

4.3

4 files

4.2

4 files

4.1

4 files

4.0

4 files

3.25

6 files

3.24.1

4 files

3.24

4 files

3.23.1

6 files

3.23

4 files

3.22

4 files

3.21

4 files

3.20.2

4 files

3.20.1

4 files

3.20

5 files

3.19

4 files

3.18.1

4 files

3.18

4 files

3.17.3

4 files

3.17.2

4 files

3.17.1

4 files

3.17

5 files

3.16

4 files

3.15.3

4 files

3.15.2

4 files

3.15.1

4 files

3.15

4 files

3.14

4 files

3.13

4 files

3.12.1

4 files

3.12

4 files

3.11.1

4 files

3.11

4 files

3.10.1

4 files

3.10

4 files

3.9

4 files

3.8.3

4 files

3.8.2

6 files

3.8.1

6 files

3.8

6 files

3.7.6

4 files

3.7.5

4 files

3.7.4

4 files

3.7.3

4 files

3.7.2

4 files

3.7.1

4 files

3.7

4 files

3.6.6

4 files

3.6.5

4 files

3.6.4

6 files

3.6.3

6 files

3.6.2

6 files

3.6.1

6 files

3.6

4 files

3.5

6 files

3.4.4

6 files

3.4.3

6 files

3.4.2

6 files

3.4.1

4 files

3.4

6 files

3.3.1

6 files

3.3

6 files

3.2.7

4 files

3.2.6

6 files

3.2.5

6 files

3.2.4

6 files

3.2.3

6 files

3.2.2

6 files

3.2.1

6 files

3.2

6 files

3.1

6 files

3.0

5 files

2.15.5

4 files

2.15.4

4 files

2.15.3

4 files

2.15.2

5 files

2.15.1

5 files

2.15

6 files

2.14.2

6 files

2.14.1

6 files

2.14

6 files

2.13

6 files

2.12

2.11

3 files

2.10

2 files

2.9

2 files

2.8.1

2 files

2.8

2.7

2.6.1

2.6

2.5

2.4.1

2.4

2.3

2.2

Supported by

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