SSP Setup and Prerequisites

Before you can create a self-service Tetra Data pipeline (SSP), you must do the following:

  • Initialize the TetraScience Software Development Kit (SDK) 2.0 environment.
  • Configure Tetra Data Platform (TDP) dependencies and authentication.

Initialize the TetraScience SDK 2.0 Environment

To initialize the TetraScience SDK 2.0, do the following:

  1. Install Python (versions 3.7 through 3.11 are supported currently)
  2. Install the poetry package by running the following command:
    pip3 install poetry
  3. Install the ts-sdk package by running the following command:
    pip3 install ts-sdk
  4. Check if the installation was successful by running the following command:
    ts-sdk --help

🚧

IMPORTANT

Python is the only supported programming language that you can use to write SSPs. We recommend using pyenv if you have to work with multiple versions on the same machine.

You can choose which Python version a task script uses by adding a "runtime" parameter to the script's config.json file. Python versions 3.7, 3.8, 3.9, 3.10, and 3.11 are supported currently. For more information, see config.json Files.

Configure TDP Dependencies and Authentication

To configure the required TDP dependencies and authentication credentials, do the following:

  1. Sign in to the TDP as an admin user.
  2. Create a service user account with admin access on the Organization page in your profile (or use an existing one).
  3. Create a JSON Web Token (JWT) for the Service User Account that you've selected.
  4. Create an auth.json file (you can select a different name) at any location you want. You can also download this file from the previous step by selecting the Download ts-sdk config button on the token creation dialog. You will use this file later in the ts-sdk put command by adding -c path/to/auth.json to the command line.

Example auth.json File

{
    "api_url":"<TDP API endpoint base URL>",
    "auth_token":"<service token you generated>",
    "org":"<your organization slug name>",
    "ignore_ssl": <true to allow invalid SSL certificates>
}