Skip to main content
Checks main Downloads PyPI Version PyPI - Python Version Formatter - Black Formatter - Isort License Last Commit

Overview

The Script-Languages-Container-Tool (exaslct) is the build tool for the script language container. You can build, export and upload script-language container from so-called flavors which are description how to build the script language container. You can find pre-defined flavors in the script-languages-release repository. There we also described how you could customize these flavors to your needs.

In a Nutshell

Prerequisites

Note: Since version 1.0.0 the “starter scripts” shipped with previous version, which pulled the exaslct docker container runtime, were removed. If you can’t use Python3, you still can use our AI-lab which provides VM images, AMI images and a Docker images, all capable of building script-language-container.

For running

In order to use this tool, your system needs to fulfill the following prerequisites:

  • Software

  • System Setup

    • We recommend at least 50 GB free disk space on the partition where Docker stores its images, on linux Docker typically stores the images at /var/lib/docker.

    • For the partition where the output directory (default: ./.build_output) is located we recommend additionally at least 10 GB free disk space.

Further, prerequisites might be necessary for specific tasks. These are listed under the corresponding section.

Installation

In general, it’s good practice to install the package in a virtual environment, using venv or Poetry.

Pip via PyPi

python3 -m pip install exasol-script-languages-container-tool

Pipx via Pypi

If you plan to use exasol-script-languages-container-tool on the command line only via the exaslct script, we suggest the installation via pipx:

pipx install exasol-script-languages-container-tool

Usage

For simplicity the following examples use the script version (exaslct), which will be installed together with the Python package. The script is just an alias for python3 -m exasol.slc.tool.main.

How to build an existing flavor?

Create the language container and export it to the local file system

exaslct export --flavor-path=flavors/<flavor-name> --export-path <export-path>

Add --use-symlink-for-export-path to create the exported tar file as an absolute symlink to the cached tarball.

or deploy it directly to the BucketFS (both http and https are supported)

exaslct deploy --flavor-path=flavors/<flavor-name> --bucketfs-host <hostname-or-ip> --bucketfs-port <port> \
                   --bucketfs-user w --bucketfs-password <password>  --bucketfs-name <bucketfs-name> \
                   --bucket <bucket-name> --path-in-bucket <path/in/bucket> --bucketfs-use-https 1

Once it is successfully deployed, it will print the ALTER SESSION statement that can be used to activate the script language container in the database.

How to activate a script language container in the database

If you uploaded a container manually, you can generate the language activation statement with

exaslct generate-language-activation --flavor-path=flavors/<flavor-name> --bucketfs-name <bucketfs-name> \
                                         --bucket-name <bucket-name> --path-in-bucket <path/in/bucket> --container-name <container-name>

where <container-name> is the name of the uploaded archive without its file extension. To activate the language, execute the generated statement in your database session to activate the container for the current session or system wide.

This command will print a SQL statement to activate the language similar to the following one:

ALTER SESSION SET SCRIPT_LANGUAGES='<LANGUAGE_ALIAS>=localzmq+protobuf:///<bucketfs-name>/<bucket-name>/<path-in-bucket>/<container-name>?lang=<language>#buckets/<bucketfs-name>/<bucket-name>/<path-in-bucket>/<container-name>/exaudf/exaudfclient[_py3]';

Please, refer to the User Guide. for more detailed information, how to use exalsct.

Features

  • Build a script language container as docker images

  • Export a script language container as an archive which can be used for extending Exasol UDFs

  • Upload a script language container as an archive to the Exasol DB’s BucketFS

  • Generating the activation command for a script language container

  • Can use Docker registries, such as Docker Hub, as a cache to avoid rebuilding image without changes

  • Can push Docker images to Docker registries

  • Run tests for you container against an Exasol DB (docker-db or external db)

📚 Documentation

For further details, check out latest documentation.

Download files

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

Source Distribution

Built Distribution

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

File details

Details for the file exasol_script_languages_container_tool-4.3.1.tar.gz.

File metadata

File hashes

Hashes for exasol_script_languages_container_tool-4.3.1.tar.gz
Algorithm Hash digest
SHA256 2095cf6d44cd079d6a4be8807096c6d8f0bc94f35f522c6d1fffd5176ac6bdcb
MD5 ea38445daa048598ca34ec29de79eac6
BLAKE2b-256 f36b1e0fba449c4a6871cd166b88bbe2ae66de41d8049c6d303459525aa753d0

See more details on using hashes here.

File details

Details for the file exasol_script_languages_container_tool-4.3.1-py3-none-any.whl.

File metadata

File hashes

Hashes for exasol_script_languages_container_tool-4.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5b0d9a6cba1940e70d85fb0016110934cf6ba07b3c3454693958789c24b0f684
MD5 1a07a53e1fcad23216275bda0377e02f
BLAKE2b-256 1ad77607c2f421e950a88983a9adab34d5b350cc09be2038f5e5f896e4d1ec3a

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

4.3.1 This release

2 files

4.3.0

2 files

4.2.0

2 files

4.1.0

2 files

4.0.3

2 files

4.0.2

2 files

4.0.1

2 files

4.0.0

2 files

3.6.1

2 files

3.6.0

2 files

3.5.0

2 files

3.4.1

2 files

3.4.0

2 files

3.3.0

2 files

3.2.0

2 files

3.1.0

2 files

3.0.0

2 files

2.0.0

2 files

1.1.0

2 files

1.0.0

2 files

0.21.0

2 files

0.20.0

2 files

0.19.0

2 files

0.18.3

2 files

0.18.2

2 files

0.18.1

2 files

0.18.0

2 files

0.17.0

2 files

0.16.0

2 files

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