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.90 (released 2026-09-15)

  • XIST now requires oracledb 26.0.0 or later.

  • Since oracledb 26.0.0 supports t-strings in Cursor.execute itself (with the format specs q and l working like they did in XIST, and the additional format spec i for SQL identifiers), the t-string support has been removed from ll.orasql.Cursor.execute. See MIGRATION for the one incompatible detail.

  • oracledb 26.0.0 no longer accepts str or bytes values for bind variables of type CLOB or BLOB. ll.orasql (when calling procedures and functions with large string arguments or bytes arguments) and ll.pysql (when passing such arguments to procedure() and sql() commands) now create temporary LOBs via Connection.createlob instead.

  • The new module ll.iterm2 contains functions for working with the terminal emulator iTerm2: ll.iterm2.running_in_iterm2 detects whether the program runs inside iTerm2, and there are functions that return the escape sequences for setting the session status, the tab and window title, the badge and for posting notifications. For each of those there’s also a set_* variant that writes the sequence directly to the controlling terminal (and does nothing when not running in iTerm2).

  • The new module ll.taskswarm executes tasks in parallel processes (via multiprocessing). Tasks are submitted to a ll.taskswarm.Swarm inside a with block and executed when the block is exited. A running task can itself submit new tasks to the swarm (e.g. a task that walks a directory can submit one task for each file it finds), so the total number of tasks doesn’t have to be known in advance. Log messages and task names can be t-strings: the values are formatted (and colored) by the swarm according to their type, and a format spec like {name:schema} selects a format_schema method of the swarm (sub)class for values whose type is ambiguous. The progress is shown on the terminal (either as a continuous log or updated in place, one line per process) and in the iTerm2 session status.

Release files for ll-xist 5.90

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.90
File Size Uploaded
ll_xist-5.90.tar.gz 859.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ll-xist 5.90
File Interpreter ABI Platform
ll_xist-5.90-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.90.tar.gz

Download URL ll_xist-5.90.tar.gz
Size 859.4 kB
Tags Source
SHA-256 checksum
How to use checksums
d1c6f40e7b0420af13a07d1a6fa8cf1d2c15b6a5244d46fe094678df24ddf749
BLAKE2b-256 checksum
How to use checksums
8b45f84b7cb958dafa4c90bca963e5a6e0e762ad7ad8efe1b3f6376ef6b91728
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.90-cp314-cp314-macosx_26_0_arm64.whl

Download URL ll_xist-5.90-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
1482c17a92bcd3f95f0117051c414a8567a2768cc365e36478c6e526ef5227f7
BLAKE2b-256 checksum
How to use checksums
9a82c45abbf6c75f72f24dc6554e0580d1bd7aa207395c4fe05bb302a2a71cb0
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

5.91

2 release files

5.90.2

2 release files

5.90.1

4 release files

This release

5.90 This release

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