Selecting the Versions for SLCT and SLCR

NC contains multiple dependencies including the following

Dependency

Defined in

Example

script-languages-container-tool (SLCT)

File pyproject.toml

exasol-script-languages-container-tool = "^1.0.0"

A release of the Exasol Script Languages Containers script-languages-release (SLCR)

File exasol/nb_connector/slct/constants.py

SLC_RELEASE_TAG = "9.1.0"

Additionally, each version of the SLCR depends on a specific version of the SLCT, see the SLCR release letters and the file pyproject.toml used by any specific released version of the SLCR.

Conclusion: Whenever you update the major version of script-languages-container-tool in pyproject.toml you will need to update the referenced tag of SLCR in slct_manager.py.

Example

For the versions named in the table above

  • SLCR version 9.1.0 in the release letter, section “_Script-Language-Container-Tool (Exaslct)_” states “_This release uses version 1.0.0 of the container tool._”

  • When clicking on the commit 60492ad and “Browse files”, then SLCR’s file pyproject.toml shows exasol-script-languages-container-tool = "^1.0.0"

In this case, the dependencies shown in the table above, are ✅ valid as NC’s file pyproject.toml depends on the same major version of SLCT.

General instructions

Check if the referred version of SLCR is also compatible with the version of SLCT:

  1. Go to SLCR releases.

  2. Search for the SLCR version referenced in NC’s file exasol/nb_connector/slc/constants.py.

  3. Check if in the SLCR release, file pyproject.toml, dependency script-languages-container-tools has the same major version.

Impact on NC Tests

Some of the tests of the Notebook Connector, especially the integration tests, may depend on particular properties of a particular SLCR release, e.g. a particular flavor to be present.

In consequence, updating the SLCR version potentially may require updating the NC tests as well, e.g. the name of the flavor used in the tests.