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.91 (released 2026-09-22)

  • ll.vsql.AST.fromsource now also accepts vSQL expressions as variables (in addition to the ll.vsql.Field objects that describe real variables). Every reference to such a variable is replaced by that expression before the source is compiled, so an expression that has been written for one variable can be compiled for another one. E.g. a condition on a person p can be compiled for the author of a book b:

    vsql.AST.fromsource("p.lastname == 'Einstein'", b=book, p="b.author")

    compiles the same expression as:

    vsql.AST.fromsource("b.author.lastname == 'Einstein'", b=book)

    The methods ll.vsql.Query.select_vsql, ll.vsql.Query.aggregate_vsql, ll.vsql.Query.where_vsql, ll.vsql.Query.groupby_vsql and ll.vsql.Query.orderby_vsql accept such variables as keyword arguments for the expression they add:

    q.where_vsql("p.lastname == 'Einstein'", p="b.author")

    Such a variable is only available in that expression and replaces a variable of the query with the same name there. The expression for such a variable can only reference the real variables (referencing another replacement variable raises a ll.vsql.VSQLReplacementVariableError).

  • ll.vsql.Query.from_vsql now accepts an attribute path (e.g. "b.author") in addition to the name of a query variable, and returns the alias of the table for an already joined field too. This makes it possible to add SQL conditions (via ll.vsql.Query.where_sql) on the tables that vSQL expressions join.

  • Fixed the source code that ll.vsql.AST.source reconstructs for a parenthesized method or function call that is used in a further call, e.g. (a.upper()).lower(): The opening parenthesis was lost and the rest of the source was shifted by one character. Only the source (used in SQL comments and error messages) was affected, not the generated SQL.

Release files for ll-xist 5.91

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ll-xist 5.91
File Size Uploaded
ll_xist-5.91.tar.gz 862.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ll-xist 5.91
File Interpreter ABI Platform
ll_xist-5.91-cp314-cp314-macosx_26_0_arm64.whl CPython 3.14 CPython 3.14 macOS 26.0+ ARM64 Details

Total release size: 2.3 MB

Release files / ll_xist-5.91.tar.gz

Download URL ll_xist-5.91.tar.gz
Size 862.8 kB
Tags Source
SHA-256 checksum
How to use checksums
78d8cbf9564a1cf577b9b36ca51417c7d074d1dc745c9661bf0d7533829d5ffb
BLAKE2b-256 checksum
How to use checksums
005c5ce533733ca69dbd9e27cce545e7706e4f2b2fc263a8a33053ba48cd6b10
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.7

Release files / ll_xist-5.91-cp314-cp314-macosx_26_0_arm64.whl

Download URL ll_xist-5.91-cp314-cp314-macosx_26_0_arm64.whl
Size 1.5 MB
Tags CPython 3.14 macOS 26.0+ ARM64
SHA-256 checksum
How to use checksums
c444df702919e144dead9272696452b1e81ab8f91a6471d99a6eafb7a68475f4
BLAKE2b-256 checksum
How to use checksums
13d445a892dbd5775133df72de33ab9327a20ed208d50ebd45c1c36170817eef
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.7

Release history Release notifications | RSS feed

5.92

2 release files

This release

5.91 This release

2 release files

5.90.2

2 release files

5.90.1

4 release files

5.90

2 release files

5.89

4 release files

5.88

2 release files

5.87

4 release files

5.86

4 release files

5.85

6 release files

5.84

6 release files

5.83

2 release files

5.82

7 release files

5.81

2 release files

5.80

2 release files

5.79

2 release files

5.78

2 release files

5.77

2 release files

5.76

2 release files

5.75

12 release files

5.74

8 release files

5.73.2

8 release files

5.73.1

2 release files

5.73

2 release files

5.72

2 release files

5.71

2 release files

5.70

8 release files

5.69

8 release files

5.68

10 release files

5.67

10 release files

5.66.1

2 release files

5.66

10 release files

5.65

10 release files

5.64

6 release files

5.63.1

2 release files

5.63

2 release files

5.61

2 release files

5.60

6 release files

5.59

6 release files

5.58

6 release files

5.57

6 release files

5.56

6 release files

5.55

6 release files

5.54.1

6 release files

5.54

6 release files

5.53

6 release files

5.52

6 release files

5.51

6 release files

5.50

6 release files

5.49

6 release files

5.48

6 release files

5.47

6 release files

5.46

6 release files

5.45

6 release files

5.44

6 release files

5.43

6 release files

5.42.1

6 release files

5.42

6 release files

5.41

6 release files

5.40.2

6 release files

5.40.1

6 release files

5.40

6 release files

5.39

6 release files

5.38

6 release files

5.37.1

6 release files

5.37

6 release files

5.36

6 release files

5.35

6 release files

5.34

6 release files

5.33

4 release files

5.32

4 release files

5.31

4 release files

5.30

4 release files

5.29

4 release files

5.28

2 release files

5.27

6 release files

5.26

6 release files

5.25.1

6 release files

5.25

6 release files

5.24

6 release files

5.23

8 release files

5.22

8 release files

5.21

8 release files

5.20

8 release files

5.19.4

8 release files

5.19.3

8 release files

5.19.2

8 release files

5.19.1

8 release files

5.19

8 release files

5.18

8 release files

5.17

13 release files

5.16

14 release files

5.15

14 release files

5.14

14 release files

5.13.1

9 release files

5.13

9 release files

5.12

7 release files

5.11

7 release files

5.10

7 release files

5.9.1

7 release files

5.9

7 release files

5.8.1

7 release files

5.8

7 release files

5.7.1

3 release files

5.7

3 release files

5.6

3 release files

5.5.1

3 release files

5.5

3 release files

5.4.1

3 release files

5.4

3 release files

5.3

4 release files

5.2.7

4 release files

5.2.6

4 release files

5.2.5

4 release files

5.2.4

4 release files

5.2.3

4 release files

5.2.2

4 release files

5.2.1

4 release files

5.2

4 release files

5.1

4 release files

5.0

4 release files

4.10

4 release files

4.9.1

5 release files

4.9

5 release files

4.8

5 release files

4.7

5 release files

4.6

5 release files

4.5

5 release files

4.4

4 release files

4.3.1

4 release files

4.3

4 release files

4.2

4 release files

4.1

4 release files

4.0

4 release files

3.25

6 release files

3.24.1

4 release files

3.24

4 release files

3.23.1

6 release files

3.23

4 release files

3.22

4 release files

3.21

4 release files

3.20.2

4 release files

3.20.1

4 release files

3.20

5 release files

3.19

4 release files

3.18.1

4 release files

3.18

4 release files

3.17.2

4 release files

3.17.1

4 release files

3.17

5 release files

3.16

4 release files

3.15.3

4 release files

3.15.2

4 release files

3.15.1

4 release files

3.15

4 release files

3.14

4 release files

3.13

4 release files

3.12.1

4 release files

3.12

4 release files

3.11.1

4 release files

3.11

4 release files

3.10.1

4 release files

3.10

4 release files

3.9

4 release files

3.8.3

4 release files

3.8.2

6 release files

3.8.1

6 release files

3.8

6 release files

3.7.6

4 release files

3.7.5

4 release files

3.7.4

4 release files

3.7.3

4 release files

3.7.2

4 release files

3.7.1

4 release files

3.7

4 release files

3.6.6

4 release files

3.6.5

4 release files

3.6.4

6 release files

3.6.3

6 release files

3.6.2

6 release files

3.6.1

6 release files

3.6

4 release files

3.5

6 release files

3.4.4

6 release files

3.4.3

6 release files

3.4.2

6 release files

3.4.1

4 release files

3.4

6 release files

3.3.1

6 release files

3.3

6 release files

3.2.7

4 release files

3.2.6

6 release files

3.2.5

6 release files

3.2.4

6 release files

3.2.3

6 release files

3.2.2

6 release files

3.2.1

6 release files

3.2

6 release files

3.1

6 release files

3.0

5 release files

2.15.5

4 release files

2.15.4

4 release files

2.15.3

4 release files

2.15.2

5 release files

2.15.1

5 release files

2.15

6 release files

2.14.1

6 release files

2.14

6 release files

2.13

6 release files

2.12

2.11

3 release files

2.10

2 release files

2.9

2 release files

2.8.1

2 release files

2.8

2.7

2.6.1

2.6

2.5

2.4.1

2.4

2.3

2.2

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page