Step 2 – Defining a Default IDE Image

An admin is tasked with creating an initial default image (package environment containing all of the files, libraries, and settings) to be used by developers so that they can start working in the Datatailr IDE. This default image serves as a starting point for developers, which they can use as-is or reconfigure according to their requirements and preferences.

Icon Description automatically generatedTip – Datatailr can create this initial default image for you. If needed, contact Datatailr support at [email protected]..

The following section describes the quickest and simplest way to get started. If needed, you may refer to Image Manager for more details about how to define a container image for running Datatailr runnables (Apps, Excel Addins, Services, Batch Jobs and Jupyter Notebooks).

To create a basic image that enables a developer to start working –

Base Config Tab

  1. In the Base Config tab, in the Base Image area in the top left corner, in the Build Type field, select New Build.
  1. In the Image OS field, select Fedora or Alpine or leave the default value.
  • Fedora is a free and open-source Linux operating system developed by the Fedora Project and sponsored by Red Hat.

  • Alpine Linux is a lightweight, security-oriented, and resource-efficient Linux distribution based on musl libc and busybox.

  1. In the Architecture field, select amd64 or arm64 or
    leave the default – amd64.
  • amd64 architecture is a 64-bit microprocessor architecture developed by Advanced Micro Devices (AMD), which is commonly used in most modern personal computers and servers.

  • arm64 architecture is a 64-bit variation of the Advanced RISC Machine (ARM) architecture, which is commonly used in devices that have low power consumption.

  1. In the Versions area in the center of the window, in the Python field, select the Python version of the image or leave the default value.

Python Packages Tab

  1. Select the Python Packages tab or click the Next button in the bottom right corner. The following is displayed –

The Python Packages area on the left of the window lists the ~380,000 Python external packages from pypi.org.

Note – PyPI (Python Package Index) is a repository for open-source Python software, providing an easy way to install and manage packages for use in Python projects – https://pypi.org/.

The Internal Python Packages area in the center of the window will be empty at this point.

  1. In the Python Packages area, check the checkbox on the left of each Python package to be included in the first default image to be used by developers in Datatailr. You can type any string in the search box to filter the list, such as numpy, as shown below –

Note – Later, you can add additional Python packages to the image if needed.

  1. [Optional] For each Python package you selected (as described above), you can select the Python package version in the Version column of that row. If you do not specify a version, then a default version is chosen for you.

Each Python package is listed in the Selected Packages area on the right, as shown above.

  1. Each of these Python packages may include multiple files in the version. The versions of these may have interdependencies.

If needed, you can use the Constraints column to impose conditions on the Python packages versions and their dependencies to be included in the image. Alternatively, you can leave the caret (^) symbol, which is the default.

For example, according to semantic versioning, if you select version 1.3.3 in the Python Packages area, then –

  • Caret (^) – Only selects package versions within the same major version. For example, if a package has version 1.3.3 and another package depends on it with ^1.3.3, it means that any updates to the package with a version number starting with 1 (1.x.x) is compatible and can be included in the package. For a numpy Python package, the Allowed Versions might appear as follows –
  • Tilde (~) – Only selects package versions within the same minor version. For example, if a package has version 1.3.3 and another package depends on it with ~1.3.3, it means that any updates to the package with a version number starting with 1.3 (1.3.x) are compatible and can be included in the package.

Tip – We recommend avoiding restricting versions too much because it may result in an invalid container image configuration that cannot be built. This will happen when a container image includes Python packages that depend on other packages that don’t exist in the image. Datatailr will detect the invalidity and will fail it (display an error message) during the image building/version solving stage. If Datatailr fails to build a container image, we highly recommend that you review the error output that is provided, which specifies the invalid Python package interdependencies that need fixing. If this happens, go to the Python packages tab (described below) and change the selections in the Version and Constraint columns.

Note – Datatailr fully supports Python Poetry semantic versioning, which is a dependency management tool that allows developers to manage package versions using semantic versioning. It uses the format major.minor.patch to indicate the level of compatibility and potential impact of updates – https://semver.org/.

Build Tab

  1. Select the Build tab. The following is displayed –
  1. Click the Build button. Various messages are displayed while Datatailr builds the image, along with a success message at the end.

  2. After the image has been built successfully, the Save button is enabled so that you can click it to save the image.

  1. Click the Save button. The following window is displayed –
  1. Assign the image a name and description, specify the Datatailr users and groups that are allowed to run it and click OK. The following is displayed –
  1. Click Yes or No to determine whether the jobs running this image are restarted. The Image Builder is redisplayed.

  2. This new image now appears as a row in the Image Manager. Right-click it to display a dropdown menu.

  1. Select the Copy to option and then select pre to copy this image to the pre-testing environment, as shown above.

Note – The Pre environment may also be referred to as the User Acceptance Testing (UAT) environment.

Note – Later image can be launched in the IDE by right-clicking it in the Image Manager and selecting Settings.

  1. Select the Copy to option again and then select prod to copy this image to the Datatailr production environment. This means that this image is now available for selection when a developer right-clicks on the Datatailr IDE icon and selects IDE Settings, as shown below –

Note – A container image must first be assigned the Datatailr pre environment tag, before it can be assigned to the Datatailr prod environment tag, from where it is made available to developers.

The IDE Settings window is displayed in which this image can be selected from the Image dropdown menu, as shown below. If only a single image is defined, then it is selected automatically.

Congratulations! The Datatailr IDE is now ready for developers to launch and start developing Datatailr applications.

For more information about launching the IDE, see Datatailr IDE.

Tip – Defining Default Images – At this point, there is only a single image to be used by the IDE, which will be used by default by all users (global default), meaning that it’s automatically launched when a developer clicks on the Datatailr IDE icon. In the future, after you have defined multiple images, there are a few options for setting the default image that launches when the Datatailr IDE is launched.

To do so, in the Image Manager, right-click on the relevant image row and select one of the following –

  • Make default IDE – Sets this image as your default image.
  • Make global default IDE – Sets this image as the default for all developers.

  • Make default IDE for group – Sets this image as the default for the developers that belong to a specific group. Use this when each group has different requirements for their development environment, such as specific Python package versions. The following is displayed in which you can select groups. Click OK, which sends an email to all the members of this group describing the features of this new image. For example, as shown below –

Note – Developers always have the option to specify a different image to be launched in the IDE using the Settings app.