Skip to main content

ll.la provides a Python API for the LivingApps system (see http://www.living-apps.de/ or http://www.living-apps.com/ for more info).

ll.la allows you to fetch the configured data sources from a template, create new records, and update and delete existing records all from your Python prompt (or script).

For more info about LivingApps and this Python SDK, see https://my.living-apps.de/docs/PythonSDK.html (in german).

0.62.0 (2026-08-19)

  • Update to XIST 5.89 (which added Postgres support for vSQL).

  • Fixed the dynamic vSQL queries which were broken by the changed vSQL API in XIST 5.89 (vsql.Group now takes vsql.Field objects, vsql.Query.sqlsource() and vsql.sql() now return t-strings): DBHandler.count_records(), DBHandler.fetch_records(), DBHandler.delete_records(), DBHandler.aggregate_records(), DBHandler.count_records_from_apps() and DBHandler.fetch_records_from_apps() (i.e. the methods behind App.count_records(), App.fetch_records(), App.delete_records(), App.aggregate_records(), AppGroup.count_records(), AppGroup.fetch_records() and AppGroup.fetch_recordpage()).

    The queries are now composed as t-strings, and all values (including the out parameters) are passed as real bind parameters instead of being embedded literally into the SQL source or being passed as keyword arguments to execute().

  • Added support for the translations of the multilingual attributes of apps, app groups, controls and lookup items via the new classes AppLang, AppGroupLang, ControlLang and LookupItemLang.

    The multilingual attributes themselves (e.g. control.label) remain plain strings: their getters now return the translation matching globals.lang. A label from the active view still wins over the translation, and when there’s no translation (or the translated attribute is None) the attribute of the object itself is used.

    All translations are accessible (and modifiable) via the new attribute translations whose attributes are the language codes (e.g. control.translations.de; this works in UL4 and in Python). Accessing a known language for which no translations exist yet creates a new empty translation object. Each translation object can be saved with its method save(); translations.save() saves the translations for all languages.

    Setting e.g. control.label still sets the attribute of the control itself and never touches the translations.

  • DBHandler.save_app() and DBHandler.save_control() now pass the “raw” attribute values (i.e. without the active view or the translations applied) to the database. This also fixes save_app() which previously accessed nonexistent App attributes for the grammatical gender and the case forms of the type name.

Download files

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

Source Distribution

ll_la-0.62.0.tar.gz (129.5 kB view details)

Uploaded Source

Built Distribution

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

ll_la-0.62.0-py3-none-any.whl (92.2 kB view details)

Uploaded Python 3

File details

Details for the file ll_la-0.62.0.tar.gz.

File metadata

  • Download URL: ll_la-0.62.0.tar.gz
  • Upload date:
  • Size: 129.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.7

File hashes

Hashes for ll_la-0.62.0.tar.gz
Algorithm Hash digest
SHA256 30c4de37dcf52914f7f545d6b7003522ddf84bb4d6ced99c9bc3eda7d6cb3c33
MD5 5c6621e44f5ade7086080fe86c86867d
BLAKE2b-256 a4be5d2b89e1f10025598a9c24bb0607442cc441ca26b9cf3a71ed827ccd5b4d

See more details on using hashes here.

File details

Details for the file ll_la-0.62.0-py3-none-any.whl.

File metadata

  • Download URL: ll_la-0.62.0-py3-none-any.whl
  • Upload date:
  • Size: 92.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.7

File hashes

Hashes for ll_la-0.62.0-py3-none-any.whl
Algorithm Hash digest
SHA256 33da949406ed5c6c21268d503ead542ed385af02cb25e2c467986db3d6c45221
MD5 ac3e5f02ff5f6bfc840d223e8e3b1a11
BLAKE2b-256 958cf9fa88b220c0e32c194d2a9bab99a865ea5c003c6b6525534df566aeb6c2

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.62.0 This release

2 files

0.61.0

2 files

0.60.0

2 files

0.59.2

2 files

0.59.1

2 files

0.59.0

2 files

0.58.1

2 files

0.58.0

2 files

0.57.1

2 files

0.57.0

2 files

0.56.0

2 files

0.55.0

2 files

0.54.0

2 files

0.53.1

2 files

0.53.0

2 files

0.52.2

2 files

0.52.1

2 files

0.52.0

2 files

0.51.2

2 files

0.51.0

2 files

0.50.2

2 files

0.50.1

2 files

0.50.0

2 files

0.49.0

2 files

0.48.0

2 files

0.47.0

2 files

0.46.2

2 files

0.46.1

2 files

0.46.0

2 files

0.45.0

2 files

0.44.0

2 files

0.42.5

2 files

0.42.4

2 files

0.42.3

2 files

0.42.2

2 files

0.42.1

2 files

0.42.0

2 files

0.41.0

2 files

0.40.0

2 files

0.39.1

2 files

0.39.0

2 files

0.38.0

2 files

0.36.0

2 files

0.35.0

2 files

0.34.1

2 files

0.33.0

2 files

0.32.0

2 files

0.31.0

2 files

0.30.0

2 files

0.29.0

2 files

0.28.0

2 files

0.27.0

2 files

0.26.0

2 files

0.25.0

2 files

0.24.6

2 files

0.24.4

2 files

0.24.3

2 files

0.24.2

2 files

0.24.1

2 files

0.24

2 files

0.23.2

2 files

0.23.1

2 files

0.23

2 files

0.22.1

2 files

0.21

2 files

0.20

2 files

0.19.1

2 files

0.19

2 files

0.18.2

2 files

0.18.1

2 files

0.18

2 files

0.17

2 files

0.16.1

2 files

0.16

2 files

0.15

2 files

0.14.3

2 files

0.14.2

2 files

0.14.1

2 files

0.14.0

2 files

0.13.0

2 files

0.12.5

2 files

0.12.4

2 files

0.12.3

2 files

0.12.2

1 file

0.12.1

2 files

0.12

2 files

0.11

2 files

0.10

2 files

0.9

2 files

Supported by

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